Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

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.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis