ALTER TABLE es el comando que utilizamos para modificar la estructura de una tabla que ya existe.
Esto cobra especial importancia cuando la base de datos ya está en producción. Si después de crear una tabla descubrimos que necesitamos agregar un campo, cambiar un tipo de dato, modificar una restricción o renombrar algo, no tiene sentido eliminar la tabla y volverla a crear.
En lugar de eso, podemos modificarla directamente con ALTER TABLE.
El profesor lo presenta como el “bisturí” de la base de datos: permite hacer cambios sobre una tabla existente, pero hay que utilizarlo con cuidado, especialmente cuando se eliminan elementos.
Para practicar, se parte de una tabla sencilla llamada empleados_demo:
CREATE TABLE empleados_demo (
empleado_id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
nombre TEXT NOT NULL,
cargo TEXT
);
Inicialmente tenemos tres columnas:
| Columna | Tipo | Restricción |
|---|---|---|
empleado_id |
INTEGER |
PK + autogenerado |
nombre |
TEXT |
NOT NULL |
cargo |
TEXT |
— |
A partir de aquí se van haciendo diferentes modificaciones con ALTER TABLE.
ADD COLUMNLa primera necesidad que plantea la clase es muy común:
“Se me olvidó agregar una columna. ¿Tengo que eliminar la tabla y crearla nuevamente?”
No.
Podemos utilizar:
ALTER TABLE empleados_demo
ADD COLUMN email TEXT;
La estructura general es: