Inserción de Datos
La inserción de datos es la operación que da vida a tu base de datos, llenándola con la información necesaria para que tu aplicación funcione. Es el primer paso para interactuar con los datos después de haber definido su estructura.
¿De que trata?
La inserción de datos es el proceso de añadir nueva información (nuevos registros o filas) a una tabla existente en una base de datos. Una vez que has diseñado y creado la estructura de tus tablas, el siguiente paso fundamental es llenarlas con los datos reales que tu aplicación necesita almacenar.
Imagina que tienes una hoja de cálculo vacía con encabezados de columna. La inserción de datos es como añadir una nueva fila con toda la información correspondiente a cada columna. Cada vez que un nuevo usuario se registra, un producto se añade al inventario, o un pedido se realiza, esa información se "inserta" en la tabla adecuada de la base de datos.
Este proceso es crucial para:
Poblar la base de datos: Darle contenido real con el que la aplicación pueda trabajar.
Registrar nuevas transacciones/eventos: Guardar la información que se genera constantemente en un sistema (ventas, inicios de sesión, publicaciones, etc.).
Mantener la base de datos actualizada: Asegurar que la información refleje el estado actual del mundo real que la base de datos modela.
¿Cómo se hace la Inserción de Datos?
La inserción de datos se realiza utilizando la sentencia SQL (Structured Query Language) INSERT INTO. Es una de las operaciones más básicas y frecuentes cuando interactúas con una base de datos.
Existen dos formas principales de usar INSERT INTO:
1. Insertar Valores en Todas las Columnas (en orden)
Esta es la forma más sencilla, pero requiere que conozcas el orden exacto de las columnas en la tabla y que proporciones un valor para cada una de ellas (o NULL si la columna lo permite).
Sintaxis:


Para copiar:
INSERT INTO nombre_de_la_tabla
VALUES (valor1, valor2, valor3, ...);
nombre_de_la_tabla: El nombre de la tabla donde quieres insertar el registro.
valor1, valor2, valor3, ...: Los valores que deseas insertar, en el mismo orden en que las columnas están definidas en la tabla.
Ejemplo Práctico:
Supongamos que tenemos una tabla Productos creada así:


Para copiar:
CREATE TABLE Productos (
ID_Producto INT PRIMARY KEY AUTO_INCREMENT,
NombreProducto VARCHAR(100) NOT NULL,
Precio DECIMAL(10, 2) NOT NULL,
Stock INT DEFAULT 0
);
Para insertar un nuevo producto asumiendo el orden de las columnas (ID_Producto, NombreProducto, Precio, Stock):


Nota: Si una columna es AUTO_INCREMENT (o SERIAL/IDENTITY en otros SGBD), a menudo puedes insertar NULL para que el sistema genere el valor automáticamente, o simplemente omitir esa columna de la lista de columnas (ver la siguiente forma).
2. Insertar Valores en Columnas Específicas
Esta es la forma más recomendada y robusta. Te permite especificar explícitamente qué columnas vas a llenar y en qué orden, lo que evita errores si el orden de las columnas de la tabla cambia o si solo quieres insertar datos en un subconjunto de columnas.
Sintaxis:


columna1, columna2, columna3, ...: Los nombres de las columnas donde quieres insertar los datos.
valor1, valor2, valor3, ...: Los valores correspondientes a las columnas listadas, en el mismo orden en que las has especificado.
Ejemplo Práctico (usando la tabla Productos anterior):


3. Insertar Múltiples Registros (SQL Estándar)
Muchos SGBD modernos permiten insertar varias filas en una sola sentencia INSERT INTO, lo que es más eficiente.
Sintaxis:


Ejemplo práctico:


Consideraciones Importantes al Insertar Datos:
Tipos de Datos: Los valores que insertas deben coincidir con el tipo de dato de la columna.
Cadenas de texto (VARCHAR, TEXT, CHAR) deben ir entre comillas simples ('Texto').
Números (INT, DECIMAL, FLOAT) no llevan comillas.
Fechas (DATE, DATETIME) deben ir entre comillas simples y en el formato esperado por el SGBD (ej. 'AAAA-MM-DD').
Restricciones NOT NULL: Si una columna está definida como NOT NULL, debes proporcionar un valor para ella al insertar. Si intentas insertar un NULL en una columna NOT NULL, obtendrás un error.
Restricciones UNIQUE: Si intentas insertar un valor que ya existe en una columna UNIQUE, obtendrás un error.
Claves Primarias (PRIMARY KEY):
Deben ser únicas para cada registro.
No pueden ser nulas.
Si son AUTO_INCREMENT, no necesitas proporcionar un valor (o puedes usar NULL).
Claves Foráneas (FOREIGN KEY): El valor que insertas en una columna que es una clave foránea debe existir como clave primaria en la tabla referenciada. Si intentas insertar un ID_Autor en la tabla Libros que no existe en la tabla Autores, la inserción fallará debido a una violación de integridad referencial.