Saltar al contenido principal

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.