INSERT INTO en SQL

La instrucción INSERT INTO en SQL añade filas nuevas a una tabla. Puedes indicar valores concretos ( VALUES ) o copiarlos desde otra consulta ( INSERTSELECT ).

INSERT INTO en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.

INSERT INTO en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.

Las columnas del INSERT deben ser compatibles en tipo con los valores. Las columnas omitidas quedan NULL (si lo permite el esquema).


Sintaxis INSERT INTO en SQL

La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.

Plantilla con VALUES

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

Ejemplo INSERT INTO en SQL

Inserta un cliente en Clientes de la demo. Usamos OUTPUT (SQL Server) para ver la fila insertada en el editor:

VALUES con OUTPUT

    INSERT INTO Clientes (ID_Cliente, Nombre_Cliente, Ciudad, Pais, N_Ventas)
OUTPUT inserted.Nombre_Cliente, inserted.Ciudad, inserted.Pais
VALUES (11, 'Pedro Navarro', 'Toledo', 'España', 30);
  
Abrir en editor

Tabla demo para INSERT INTO

Base de datos de demostración: Clientes

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.

ID_Cliente Nombre_Cliente Ciudad Pais N_Ventas
1Ana GarcíaMadridEspaña120
2Luis PérezBarcelonaEspaña85
3María LópezValenciaEspaña200
4Carlos RuizMadridEspaña45
5Elena TorresSevillaEspaña67
6John SmithLondonUK150
7Marie DuboisParisFrancia92
8Hans MüllerBerlinAlemania78
9Luca RossiRomaItalia110
10Sofia AndersStockholmSuecia55
Tabla Clientes en el editor SQL (10 filas). La usamos en la mayoría de ejemplos de esta fase.

INSERT INTO en columnas concretas

Solo las columnas necesarias

    INSERT INTO Clientes (ID_Cliente, Nombre_Cliente, Ciudad, Pais, N_Ventas)
OUTPUT inserted.Nombre_Cliente, inserted.Ciudad, inserted.N_Ventas
VALUES (12, 'Euroexpress', 'Toledo', 'España', 40);
  
Abrir en editor

INSERT INTO con SELECT

Copia datos desde otra tabla (aquí, un proveedor pasa a la tabla Clientes ):

Desde Proveedores

    INSERT INTO Clientes (ID_Cliente, Nombre_Cliente, Ciudad, Pais, N_Ventas)
OUTPUT inserted.Nombre_Cliente, inserted.Ciudad, inserted.Pais
SELECT 13, Nombre, Ciudad, Pais, 0
FROM Proveedores
WHERE ID_Proveedor = 2;
  
Abrir en editor

Resumen INSERT INTO

  • INSERT INTO añade una o varias filas.
  • VALUES para datos literales; SELECT para copiar de otra consulta.
  • Especifica columnas si no insertas todas.
  • Siguiente paso: CASE para lógica condicional en consultas.

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.


Practica con ejercicios

Repasa la lección con consultas sobre Clientes (Elena Torres, Valencia…) y Productos (pera, mango, fresa) de nuestra base demo.

Ejercicio: INSERT con VALUES

Inserta un cliente nuevo y devuelve filas con OUTPUT. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    INSERT INTO Clientes (ID_Cliente, Nombre_Cliente, Ciudad, Pais, N_Ventas) OUTPUT inserted.Nombre_Cliente, inserted.Ciudad, inserted.Pais VALUES (11, 'Pedro Navarro', 'Toledo', 'España', 30);
  
Abrir en editor

Ejercicio: INSERT en columnas concretas

Inserta solo algunas columnas; el resto queda NULL o por defecto. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    INSERT INTO Clientes (ID_Cliente, Nombre_Cliente, Ciudad, Pais, N_Ventas) OUTPUT inserted.Nombre_Cliente, inserted.Ciudad, inserted.N_Ventas VALUES (12, 'Euroexpress', 'Toledo', 'España', 40);
  
Abrir en editor

Ejercicio: INSERT desde SELECT

Copia datos de otra tabla con INSERT … SELECT. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    INSERT INTO Clientes (ID_Cliente, Nombre_Cliente, Ciudad, Pais, N_Ventas) OUTPUT inserted.Nombre_Cliente, inserted.Ciudad, inserted.Pais SELECT 13, Nombre, Ciudad, Pais, 0
FROM Proveedores
WHERE ID_Proveedor = 2;
  
Abrir en editor

Cómo practicar

1. Pulsa Ejecutar aquí en el bloque.
2. Modifica la consulta (filtro, columnas…).
3. O abre el editor para más espacio.

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.