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:
Por ejemplo:
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):
Por ejemplo:
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
oint
: 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
obool
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:
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:
Por ejemplo:
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:
Para eliminar una columna de una tabla utilizamos la siguiente sintaxis:
Para modificar el tipo de datos de una columna utilizamos la siguiente sintaxis:
Ejemplos:
Last updated