DDL
DDL nos permite crear y definir la estructura que va a tener cada base de datos.
DDL tiene más diferencias que SQL entre los diferentes motores de bases de datos. Los ejemplos que vamos a ver a continuación aplican únicamente para PostgreSQL.
Las operaciones más comunes con DDL son:
  • Crear bases de datos con CREATE DATABASE;
  • Crear tablas con CREATE TABLE.
  • Eliminar tablas con DROP TABLE.
  • Cambiar tablas con ALTER TABLE.

Creando bases de datos con CREATE DATABASE

La sintaxis para crear una base de datos es la siguiente:
1
CREATE DATABASE <nombre>;
Copied!
Por ejemplo:
1
CREATE DATABASE myhotels;
Copied!

Creando tablas con CREATE TABLE

La sintaxis más básica para crear una tabla es (asumiendo que queremos tener una llave primaria llamada id que sea autonumérica):
1
CREATE TABLE <nombre> (
2
id serial PRIMARY KEY,
3
<columna2> <tipodedato>,
4
...
5
);
Copied!
Por ejemplo:
1
CREATE TABLE hotels (
2
id serial PRIMARY KEY,
3
name varchar(255) NOT NULL,
4
stars int
5
);
Copied!
El NOT NULL al final del campo name le dice a PostgreSQL que ese campo no acepta valores nulos.

Tipos de datos

PostgreSQL tiene una gran variedad de tipos de datos pero vamos a ver los principales:
  • integer o int: campo numérico.
  • decimal: número con decimales.
  • serial: numérico autoincremental.
  • varchar: texto con límite.
  • text: texto sin límite.
  • timestamp: fecha y hora.
  • date: fecha sin hora.
  • time: hora sin fecha.
  • boolean o bool
Existen muchos más tipos pero estos son los que se usan la mayor parte del tiempo y se encuentran en la mayoría de motores.

Llaves foráneas

Para crear una llave foránea puedes utilizar la palabra clave REFERENCES como en el siguiente ejemplo:
1
CREATE TABLE rooms (
2
id SERIAL PRIMARY KEY,
3
hotel_id int REFERENCES hotels (id) ON DELETE CASCADE,
4
number varchar(10)
5
);
Copied!
REFERENCES hotels (id) crea la llave foránea.
ON DELETE CASCADE es opcional y le dice a la tabla que cuando eliminen un registro en hotels, también elimine todos los registros relacionados en rooms.

Eliminando tablas con DROP TABLE

La sintaxis para eliminar una tabla es:
1
DROP TABLE <tabla>;
Copied!
Por ejemplo:
1
DROP TABLE rooms;
Copied!

Cambiando tablas con ALTER TABLE

La sintaxis de ALTER TABLE cambia dependiendo de los que queramos hacer. Veamos las tres tareas más comunes:
Para agregar una columna a una tabla utilizamos la siguiente sintaxis:
1
ALTER TABLE <tabla> ADD <columna> <tipodedatos> <restricciones>;
Copied!
Para eliminar una columna de una tabla utilizamos la siguiente sintaxis:
1
ALTER TABLE <tabla> DROP COLUMN <columna>;
Copied!
Para modificar el tipo de datos de una columna utilizamos la siguiente sintaxis:
1
ALTER TABLE <tabla> MODIFY <columna> <tipodedatos> <restricciones>;
Copied!
Ejemplos:
1
ALTER TABLE hotels ADD address varchar(255) NOT NULL;
2
ALTER TABLE hotels DROP COLUMN address;
3
ALTER TABLE hotels MODIFY address varchar(100) NOT NULL;
Copied!
Last modified 4yr ago