Sentencia MySQL INSERT
La sentencia `INSERT` en MySQL se utiliza para añadir nuevas filas de datos a una tabla. Es esencial para rellenar tablas con datos iniciales o añadir nuevos registros.
Utilización
La sentencia `INSERT` se emplea cuando necesitas añadir nuevos datos a una tabla. Puede insertar una o varias filas a la vez, especificando los valores de cada columna.
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
En esta sintaxis, `INSERT INTO` define la tabla y las columnas de destino, mientras que `VALUES` especifica los datos que se van a insertar. Además, el botón `INSERTAR ... La sintaxis SET` puede utilizarse para especificar directamente pares columna-valor:
INSERT INTO table_name SET column1 = value1, column2 = value2;
Ejemplos
1. Inserción básica
INSERT INTO products (product_name, price)
VALUES ('Laptop', 999.99);
Este ejemplo inserta una única fila en la tabla `productos` con valores para `nombre_producto` y `precio`.
2. Insertar varias filas
INSERT INTO employees (first_name, last_name, position)
VALUES
('John', 'Doe', 'Manager'),
('Jane', 'Smith', 'Developer');
Esta sintaxis muestra cómo insertar varias filas en la tabla "Empleados" en una sola sentencia para mayor eficacia.
3. Insertar con SELECT
INSERT INTO archived_orders (order_id, customer_id, order_date)
SELECT order_id, customer_id, order_date
FROM orders
WHERE order_date < '2022-01-01';
Este ejemplo copia datos de la tabla `orders` a `archived_orders` para los registros con una fecha de pedido anterior a 2022, útil para tareas como el archivo o la migración de datos.
4. Insertar con Ignorar y Actualizar Clave Duplicada
INSERT IGNORE INTO users (user_id, username)
VALUES (1, 'johndoe');
Esta sentencia intenta insertar una fila y la ignora si encuentra una clave duplicada.
INSERT INTO users (user_id, username)
VALUES (1, 'johndoe')
ON DUPLICATE KEY UPDATE username = 'john_updated';
Este ejemplo actualiza el "nombre de usuario" si existe una clave duplicada.
Consejos y buenas prácticas
- Especifica los nombres de las columnas. Especifica siempre los nombres de las columnas para garantizar que los datos se insertan en las columnas correctas, manteniendo la claridad y evitando errores.
- Utiliza las transacciones. Para inserciones masivas o datos críticos, utiliza transacciones para garantizar la integridad de los datos.
- Comprueba si hay duplicados. Utiliza `INSERT IGNORE` o `ON DUPLICATE KEY UPDATE` para gestionar con elegancia las posibles entradas duplicadas.
- Valida los tipos de datos. Asegúrate de que los valores que se insertan coinciden con los tipos de datos definidos en el esquema de la tabla.
- Indexación adecuada. Considera una indexación adecuada para mejorar el rendimiento, especialmente cuando insertes con frecuencia grandes cantidades de datos.
- Maneja los valores NULL. Ten en cuenta los valores NULL y sus implicaciones durante las operaciones de inserción, asegurándote de que las columnas con restricciones NOT NULL se tratan adecuadamente.