📘 Lección 14: Creación y modificación de tablas (CREATE y ALTER TABLE)

🔹 Introducción

Hasta ahora trabajamos con consultas sobre tablas ya creadas, como alumnos y profesores.
Pero en la vida real, antes de consultar datos necesitamos diseñar y crear las tablas de nuestra base de datos.

En esta lección vas a aprender a:

  • Crear tablas nuevas con CREATE TABLE.
  • Definir tipos de datos para cada columna.
  • Modificar tablas existentes con ALTER TABLE.
  • Agregar, renombrar o eliminar columnas.

👉 Esto es fundamental porque en SQL no solo consultamos datos, también diseñamos la estructura de la base.

🔹 Crear una tabla con CREATE TABLE

La sintaxis básica es:

CREATE TABLE nombre_tabla (
  columna1 TIPO,
  columna2 TIPO,
  ...
);

Ejemplo: vamos a crear una tabla de empleados.

CREATE TABLE empleados (
  id INT,
  nombre VARCHAR(50),
  salario DECIMAL(10,2),
  fecha_contratacion DATE
);

📊 Esto crea una tabla con 4 columnas:

  • id: número entero.
  • nombre: texto de hasta 50 caracteres.
  • salario: número con decimales (10 dígitos en total, 2 después del punto).
  • fecha_contratacion: fecha.

🔹 Insertar datos en la nueva tabla

Probemos insertar algunos registros:

INSERT INTO empleados (id, nombre, salario, fecha_contratacion)
VALUES
(1, 'Marta', 2500.50, '2020-03-15'),
(2, 'Roberto', 3000.00, '2018-07-01'),
(3, 'Sofía', 2800.75, '2022-11-20');

Ahora si consultamos:

SELECT * FROM empleados;

👉 Resultado esperado:

idnombresalariofecha_contratacion
1Marta2500.502020-03-15
2Roberto3000.002018-07-01
3Sofía2800.752022-11-20

🔹 Modificar tablas con ALTER TABLE

A veces necesitamos cambiar la estructura de una tabla después de crearla.
Para eso usamos ALTER TABLE.

1. Agregar una columna

ALTER TABLE empleados ADD COLUMN ciudad VARCHAR(50);

Ahora la tabla tiene una nueva columna ciudad.
Podemos actualizarla con:

UPDATE empleados SET ciudad = 'Madrid' WHERE id = 1;
UPDATE empleados SET ciudad = 'Barcelona' WHERE id = 2;
UPDATE empleados SET ciudad = 'Sevilla' WHERE id = 3;

👉 Resultado esperado:

idnombresalariofecha_contratacionciudad
1Marta2500.502020-03-15Madrid
2Roberto3000.002018-07-01Barcelona
3Sofía2800.752022-11-20Sevilla

2. Renombrar una columna

ALTER TABLE empleados RENAME COLUMN ciudad TO localidad;

Ahora la columna se llama localidad.

3. Eliminar una columna

ALTER TABLE empleados DROP COLUMN localidad;

⚠️ Ojo: esto borra la columna completa con todos sus datos.

4. Cambiar el tipo de dato de una columna

Ejemplo: aumentar la longitud de nombre a 100 caracteres.

ALTER TABLE empleados MODIFY COLUMN nombre VARCHAR(100);

🔹 Ejercicio práctico

  1. Crea una tabla llamada productos con las columnas:
    • id (INT)
    • nombre (VARCHAR(50))
    • precio (DECIMAL(10,2))
    • stock (INT)
  2. Inserta al menos 3 productos con diferentes precios y stock.
  3. Agrega una columna categoria a la tabla productos.
  4. Cambia el nombre de la columna precio a precio_unitario.
  5. Elimina la columna stock.

🔹 Soluciones

-- 1. Crear tabla
CREATE TABLE productos (
  id INT,
  nombre VARCHAR(50),
  precio DECIMAL(10,2),
  stock INT
);

-- 2. Insertar registros
INSERT INTO productos (id, nombre, precio, stock)
VALUES
(1, 'Laptop', 1200.00, 10),
(2, 'Mouse', 25.50, 50),
(3, 'Teclado', 45.00, 30);

-- 3. Agregar columna
ALTER TABLE productos ADD COLUMN categoria VARCHAR(50);

-- 4. Renombrar columna
ALTER TABLE productos RENAME COLUMN precio TO precio_unitario;

-- 5. Eliminar columna
ALTER TABLE productos DROP COLUMN stock;

🔹 Mini Quiz

 

Resultados

#1. ¿Qué comando se usa para crear una tabla en SQL?

#2. ¿Qué hace ALTER TABLE empleados ADD COLUMN edad INT;?

#3. ¿Cuál es la diferencia entre DROP COLUMN y DROP TABLE?

Previa
Finalizar

🔹 Resumen de la lección

  • CREATE TABLE se usa para crear tablas nuevas.
  • ALTER TABLE permite agregar, modificar, renombrar o eliminar columnas.
  • Es importante planificar bien la estructura, pero siempre se puede ajustar después.
  • Cuidado con DROP COLUMN y DROP TABLE porque eliminan datos permanentemente.

👉 En la próxima lección aprenderás sobre claves y restricciones: cómo asegurar que los datos en tus tablas sean consistentes y sin duplicados.

💡 Si deseas profundizar en SQL, visita el índice general del Curso SQL gratuito.

Scroll al inicio