Al terminar esta lección podrás
- Escribir INSERT explícitos.
- Relacionar columnas y valores.
- Anticipar restricciones.
Antes de empezar: Tablas y tipos de datos. Explica en una frase qué recuerdas antes de continuar.
La idea, sin código
INSERT añade filas. Es recomendable enumerar las columnas para que la correspondencia con los valores sea visible y resistente a cambios de estructura.
Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?
Sintaxis mínima
INSERT INTO tabla (columna1, columna2)
VALUES (valor1, valor2);Primer ejemplo guiado
| id | nombre | ciudad | |
|---|---|---|---|
| 1 | Ana | Madrid | ana@ejemplo.es |
| 2 | Luis | Valencia | luis@ejemplo.es |
| 3 | Marta | Madrid | NULL |
| 4 | Omar | Sevilla | omar@ejemplo.es |
| 5 | Nora | Bilbao | nora@ejemplo.es |
Analiza la consulta antes de comprobar el resultado:
INSERT INTO clientes (id, nombre, ciudad, email)
VALUES (6, 'Paula', 'Zaragoza', 'paula@ejemplo.es');Qué cambiaría: esta sentencia actúa sobre la estructura o los datos. En el curso se presenta para analizarla; ejecútala únicamente en una base de práctica.
Qué ocurre paso a paso
- La lista de columnas define el orden esperado.
- VALUES contiene un valor por columna.
- Textos y fechas utilizan comillas simples.
Error frecuente
Consulta o razonamiento problemático
INSERT INTO clientes (id, nombre) VALUES ('Paula', 6);Los valores están intercambiados respecto a las columnas y producirían tipos o datos incorrectos.
Práctica guiada
Resuelve una sola dificultad cada vez
Inserta un producto con id 6, nombre Soporte, categoría Accesorios, precio 18 y stock 20.
Solución razonada
INSERT INTO productos (id, nombre, categoria, precio, stock) VALUES (6, 'Soporte', 'Accesorios', 18, 20);La sentencia deja visible qué valor se asigna a cada columna.
Comprueba: identifica qué parte recupera, filtra, transforma, relaciona o modifica los datos.
Ahora sin guía
Transfiere lo aprendido
Escribe un INSERT de un pedido nuevo y explica qué cliente_id utilizarías.
Comparar con una solución posible
INSERT INTO pedidos (id, cliente_id, fecha, total, estado)
VALUES (106, 4, '2026-08-02', 35, 'pendiente');Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.
Resumen para llevarte
- INSERT añade filas.
- Columnas y valores deben corresponder.
- Las restricciones pueden rechazar datos inválidos.
Siguiente paso: Continúa con UPDATE y DELETE sin accidentes.