Módulo 6 · Modificar datos

Añadir filas con INSERT

Inserta datos indicando explícitamente columnas y valores.

⏱ 20 minNivel: IntermedioRequisito: Tablas y tipos de datos

0 de 40 lecciones

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

Estructura
INSERT INTO tabla (columna1, columna2)
VALUES (valor1, valor2);

Primer ejemplo guiado

Datos de ejemplo: tabla clientes
idnombreciudademail
1AnaMadridana@ejemplo.es
2LuisValencialuis@ejemplo.es
3MartaMadridNULL
4OmarSevillaomar@ejemplo.es
5NoraBilbaonora@ejemplo.es

Analiza la consulta antes de comprobar el resultado:

SQL
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

  1. La lista de columnas define el orden esperado.
  2. VALUES contiene un valor por columna.
  3. Textos y fechas utilizan comillas simples.
Comprueba que lo entendiste

¿Por qué conviene indicar las columnas?

Error frecuente

Consulta o razonamiento problemático

Revisar
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

Básica · apoyo graduado

Resuelve una sola dificultad cada vez

Inserta un producto con id 6, nombre Soporte, categoría Accesorios, precio 18 y stock 20.

Ahora sin guía

Intermedia · práctica autónoma

Transfiere lo aprendido

Escribe un INSERT de un pedido nuevo y explica qué cliente_id utilizarías.

Comparar con una solución posible
SQL
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.

Consulta rápida