Tema SQL
ALTER TABLE
Modifica la definición de una tabla existente: añadir o eliminar columnas, cambiar tipos, añadir o quitar restricciones y, según motor, reorganizar almacenamiento.
Descripción
ALTER TABLE es la herramienta de migración incremental. Las operaciones pueden bloquear la tabla o reescribir datos según motor y tamaño (p. ej. cambiar tipo de columna). Añadir columna con DEFAULT puede ser instantáneo o costoso. Eliminar restricciones o columnas puede fallar si hay dependencias. En producción, planifica ventanas, copias en sombra o herramientas online schema change. La sintaxis ADD/MODIFY/DROP varía entre MySQL, PostgreSQL, SQL Server y Oracle.
Estructura general
Forma habitual de la sentencia: orden de cláusulas, qué parte filtra, agrupa o proyecta columnas, y qué devuelve el motor. Cópiala como plantilla y sustituye nombres por tus tablas reales.
ALTER TABLE nombre_tabla
operación;
Componentes
Cada componente tiene un papel concreto en la ejecución lógica de la sentencia. Léelos en orden: así entiendes qué puedes omitir, qué es obligatorio y qué expresiones son válidas en cada sitio según tu motor.
- ALTER TABLE
- Cada subcomando es una operación; algunos motores permiten varias en una sentencia separadas por comas.
Ejemplos
Ejemplo 1
ALTER TABLE usuarios
ADD COLUMN telefono VARCHAR(20);
Ejemplo 2
-- Revisar locks y tiempo de ejecución en producción
Los ejemplos son ilustrativos. En producción usa consultas parametrizadas (prepared statements), revisa índices y aplica el principio de menor privilegio en cuentas de base de datos.