Clase 10 · 14 minGratis

CREATE TABLE y ALTER TABLE

Clase 10 del curso gratis SQL desde Cero: el lenguaje de definición de datos (DDL). Cómo crear tablas con tipos y restricciones, y cómo agregar, renombrar o quitar columnas después.

Toca cualquier marca ▸ 0:00 de los apuntes y el video salta a ese momento. Abrir en YouTube

Sin tablas no hay nada que consultar. Crear y modificar su estructura es el DDL (Data Definition Language) . Esta clase usa una base vacía: lo que crees en cada editor es tuyo.

La plantilla de CREATE TABLE

sql
CREATE TABLE nombre_tabla (
  columna1 TIPO restricciones,
  columna2 TIPO restricciones,
  ...
);
  • CREATE TABLE es una palabra reservada: no la uses para nombrar columnas ni tablas .
  • El nombre de la tabla es tuyo .
  • Cada columna lleva nombre y tipo (obligatorios) y, si hace falta, restricciones (opcionales) .

Restricciones: el ejemplo de estudiantes

Pruébalo · base vacía
  • PRIMARY KEY: único e identificador del registro .
  • NOT NULL: el campo no puede quedar vacío .
  • UNIQUE: no se repite, aunque no sea la llave primaria .
  • CHECK: una regla sobre el valor.

Agrega al final INSERT INTO estudiantes VALUES (2, 'Luis', 'ana@correo.com', 22); y luego prueba con NULL en el nombre o con edad 0. Cada restricción tiene su propio error.

ALTER TABLE: cambiar una tabla que ya existe

Creas la tabla con cuatro columnas y al mes te falta una . La primera línea siempre es igual: ALTER TABLE y el nombre; después, la acción.

Pruébalo · base vacía
  • Agregar: ADD COLUMN, con su tipo y sus restricciones .
  • Eliminar: DROP COLUMN .
  • Renombrar: RENAME COLUMN viejo TO nuevo .

Modificar una columna: aquí cambian los dialectos

El video plantea un ejercicio : convertir edad en entero y exigir que esté entre 0 y 150. Según el motor, se escribe distinto:

sql
-- MySQL
ALTER TABLE estudiantes MODIFY COLUMN edad INT CHECK (edad BETWEEN 0 AND 150);
-- PostgreSQL
ALTER TABLE estudiantes ALTER COLUMN edad TYPE INTEGER;
ALTER TABLE estudiantes ADD CHECK (edad BETWEEN 0 AND 150);

SQLite no permite modificar una columna existente. La salida es crear una tabla nueva con la definición correcta, copiar los datos y cambiarle el nombre:

Pruébalo · base vacía

Retos de esta clase

1. Diseña la tabla para registrar tus gastos del hogar . Se llama gastos y tiene exactamente estas columnas: id_gasto (llave primaria), fecha (obligatoria), descripcion, monto (mayor que cero) y categoria.

Reto · base vacía

2. A la tabla gastos (ya creada en el editor), agrégale la columna metodo_pago y renombra descripcion a detalle.

Reto · base vacía

Sigue con la clase 11

Ejercicio práctico: la tienda online

Seguir el canal de WhatsApp