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 (
INSERT … SELECT
).
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);
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 |
|---|---|---|---|---|
| 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 |
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);
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;
Resumen INSERT INTO
-
INSERT INTOañade una o varias filas. -
VALUESpara datos literales;SELECTpara 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);
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);
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;
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.