ALTER TABLE en SQL
La sentencia
ALTER TABLE
en SQL modifica una tabla ya creada
: añade o elimina columnas, cambia tipos o añade restricciones sin borrar la tabla entera.
Esta lección trata DDL (definición de datos): cambiar la estructura de bases, tablas, índices o vistas. En producción, estas operaciones requieren permisos elevados y planificación.
Practica primero en entornos de prueba. Un DROP mal ejecutado puede ser irreversible sin copia de seguridad.
Sintaxis ALTER TABLE ADD COLUMN
La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.
Plantilla
ALTER TABLE tabla
ADD COLUMN nombre_columna TIPO;
ALTER TABLE ADD COLUMN en SQL
Añade la columna
Email
, asigna un valor a Ana García y consulta el resultado:
ADD COLUMN + UPDATE + SELECT
ALTER TABLE Clientes ADD Email VARCHAR(100);
UPDATE Clientes SET Email = 'ana@ejemplo.com' WHERE ID_Cliente = 1;
SELECT Nombre_Cliente, Email FROM Clientes WHERE ID_Cliente = 1;
| Nombre_Cliente | |
|---|---|
| Ana García | ana@ejemplo.com |
ALTER TABLE con DEFAULT
Añade
Descuento
a
Productos
con valor por defecto 0:
ADD COLUMN con DEFAULT
ALTER TABLE Productos ADD Descuento REAL DEFAULT 0;
SELECT Nombre_Producto, Precio, Descuento
FROM Productos
WHERE ID_Producto IN (1, 2)
ORDER BY ID_Producto;
| Nombre_Producto | Precio | Descuento |
|---|---|---|
| Café expreso | 12.50 | 0 |
| Té verde | 8.00 | 0 |
CREATE TABLE y ALTER TABLE
Observa qué columnas devuelve la consulta y cómo se nombran con AS. Ese alias es lo que verás en la cuadrícula del editor.
CREATE TABLE + ALTER + INSERT
CREATE TABLE Demo_Alter (
ID INTEGER PRIMARY KEY,
Nombre TEXT NOT NULL
);
ALTER TABLE Demo_Alter ADD Activo INTEGER DEFAULT 1;
INSERT INTO Demo_Alter (ID, Nombre) VALUES (1, 'Test');
SELECT * FROM Demo_Alter;
| ID | Nombre | Activo |
|---|---|---|
| 1 | Test | 1 |
Eliminar columna: DROP COLUMN
Plantilla
ALTER TABLE tabla DROP COLUMN nombre_columna;
En SQLite y SQL Server moderno puedes borrar columnas con
DROP COLUMN
. Comprueba compatibilidad en tu motor antes de usarlo en producción.
Tabla demo para ALTER TABLE
Base de datos de demostración: Clientes
Estas filas son las mismas en la mayoría de ejemplos del tutorial. Referencia esta tabla cuando adaptes las consultas a tus propios datos.
| ID_Cliente | Nombre_Cliente | Ciudad | Pais | N_Ventas |
|---|---|---|---|---|
| 1 | Ana García | Madrid | España | 120 |
| 2 | Luis Pérez | Barcelona | España | 85 |
| 3 | María López | Valencia | España | 200 |
| 4 | Carlos Ruiz | Madrid | España | 45 |
| 5 | Elena Torres | Sevilla | España | 67 |
| 6 | John Smith | London | UK | 150 |
| 7 | Marie Dubois | Paris | Francia | 92 |
| 8 | Hans Müller | Berlin | Alemania | 78 |
| 9 | Luca Rossi | Roma | Italia | 110 |
| 10 | Sofia Anders | Stockholm | Suecia | 55 |
Resumen ALTER TABLE
-
ALTER TABLE … ADD COLUMNañade columnas a una tabla existente. -
Puedes definir
DEFAULTal añadir la columna. -
DROP COLUMNelimina una columna (según el motor). - Siguiente paso: NOT NULL .
Cómo practicar en el editor
1. Pulsa Pruébalo tú mismo en un ejemplo.
2. Cambia un filtro, columna o literal.
3. Ejecuta y compara el resultado con la tabla de ejemplo.
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.