La instrucción INSERT
en SQL se utiliza para agregar nuevas filas a una tabla en una base de datos. Este comando es fundamental para la manipulación de datos y es uno de los primeros que debes aprender al trabajar con SQL.
Sintaxis Básica
La sintaxis básica de la instrucción INSERT
es la siguiente:
nombre_tabla
: El nombre de la tabla en la que deseas insertar los datos.(columna1, columna2, columna3, ...)
: Una lista de las columnas en las que deseas insertar datos.VALUES (valor1, valor2, valor3, ...)
: Los valores que deseas insertar en las columnas correspondientes.
Ejemplo Práctico
Supongamos que tenemos una tabla llamada estudiantes
con las siguientes columnas: id
, nombre
, edad
, y grado
.
Para insertar un nuevo estudiante en la tabla, usaríamos la siguiente instrucción INSERT
:
Explicación del Ejemplo
INSERT INTO estudiantes
: Especifica la tablaestudiantes
en la que se insertarán los datos.(id, nombre, edad, grado)
: Lista las columnas en las que se insertarán los valores.VALUES (1, 'Juan Pérez', 20, 'Segundo')
: Proporciona los valores que se insertarán en las columnas correspondientes.
Insertar Múltiples Filas
También es posible insertar múltiples filas en una sola instrucción INSERT
. La sintaxis es similar, pero se proporcionan múltiples conjuntos de valores.
INSERT INTO estudiantes (id, nombre, edad, grado) VALUES (2, 'Ana Gómez', 22, 'Tercero'), (3, 'Carlos López', 19, 'Primero'), (4, 'María Rodríguez', 21, 'Segundo');
Explicación del Ejemplo
INSERT INTO estudiantes
: Especifica la tablaestudiantes
.(id, nombre, edad, grado)
: Lista las columnas en las que se insertarán los valores.VALUES
: Proporciona múltiples conjuntos de valores, cada uno representando una fila que se insertará en la tabla.
Ejercicio Práctico
Ejercicio 1
Crea una tabla llamada productos
con las siguientes columnas: id
, nombre
, precio
, y cantidad
. Luego, inserta tres productos en la tabla.
Solución
- Crear la tabla
productos
:
CREATE TABLE productos ( id INT PRIMARY KEY, nombre VARCHAR(50), precio DECIMAL(10, 2), cantidad INT );
- Insertar tres productos en la tabla:
INSERT INTO productos (id, nombre, precio, cantidad) VALUES (1, 'Laptop', 999.99, 10), (2, 'Mouse', 19.99, 50), (3, 'Teclado', 49.99, 30);
Ejercicio 2
Inserta un nuevo estudiante en la tabla estudiantes
con los siguientes datos: id
= 5, nombre
= 'Luis Martínez', edad
= 23, grado
= 'Cuarto'.
Solución
Errores Comunes y Consejos
-
Omisión de Columnas: Si omites una columna en la lista de columnas, asegúrate de que la columna tenga un valor predeterminado o permita valores nulos.
INSERT INTO estudiantes (id, nombre) VALUES (6, 'Laura Sánchez'); -- Error si 'edad' y 'grado' no permiten valores nulos
-
Tipos de Datos Incorrectos: Asegúrate de que los valores que estás insertando coincidan con los tipos de datos de las columnas.
INSERT INTO estudiantes (id, nombre, edad, grado) VALUES (7, 'Pedro Ruiz', 'veinte', 'Primero'); -- Error: 'veinte' no es un entero
-
Duplicación de Claves Primarias: No intentes insertar una fila con un valor de clave primaria que ya exista en la tabla.
INSERT INTO estudiantes (id, nombre, edad, grado) VALUES (1, 'Juan Pérez', 20, 'Segundo'); -- Error: 'id' 1 ya existe
Conclusión
La instrucción INSERT
es fundamental para agregar datos a una tabla en SQL. Comprender cómo usar esta instrucción correctamente es esencial para cualquier programador que trabaje con bases de datos. En el próximo tema, aprenderemos sobre la instrucción UPDATE
, que se utiliza para modificar datos existentes en una tabla.
Curso de SQL
Módulo 1: Introducción a SQL
Módulo 2: Consultas básicas de SQL
- Instrucción SELECT
- Filtrando datos con WHERE
- Ordenando datos con ORDER BY
- Limitando resultados con LIMIT
Módulo 3: Trabajando con múltiples tablas
Módulo 4: Filtrado avanzado de datos
- Usando LIKE para coincidencia de patrones
- Operadores IN y BETWEEN
- Valores NULL y IS NULL
- Agregando datos con GROUP BY
- Cláusula HAVING
Módulo 5: Manipulación de datos
Módulo 6: Funciones avanzadas de SQL
Módulo 7: Subconsultas y consultas anidadas
- Introducción a subconsultas
- Subconsultas correlacionadas
- EXISTS y NOT EXISTS
- Usando subconsultas en cláusulas SELECT, FROM y WHERE
Módulo 8: Índices y optimización de rendimiento
- Entendiendo los índices
- Creación y gestión de índices
- Técnicas de optimización de consultas
- Análisis del rendimiento de consultas
Módulo 9: Transacciones y concurrencia
- Introducción a las transacciones
- Propiedades ACID
- Instrucciones de control de transacciones
- Manejo de concurrencia