Palabra clave MySQL VALUES
La palabra clave `VALORES` en MySQL se utiliza para especificar los datos que se van a insertar en una tabla durante una operación `INSERT`. Define los valores literales que se insertarán para cada columna de la tabla.
Utilización
La palabra clave `VALUES` se utiliza junto con `INSERT INTO` para añadir nuevas filas de datos a una tabla. Le sigue una lista de valores que coinciden con las columnas especificadas en la cláusula `INSERT INTO`.
sql
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
En esta sintaxis, `VALORES (valor1, valor2, ...)` especifica los datos que se van a insertar en las respectivas columnas de la tabla. El valor `VALUES` sólo se puede utilizar con operaciones `INSERT` y no con operaciones `UPDATE` u otras.
Ejemplos
1. Inserción básica
sql
INSERT INTO students (name, age)
VALUES ('John Doe', 21);
Este ejemplo inserta una nueva fila en la tabla `estudiantes` con `nombre` como `John Doe` y `edad` como 21.
2. Insertar varias filas
sql
INSERT INTO products (product_name, price)
VALUES ('Laptop', 899.99), ('Smartphone', 599.99);
Aquí se añaden dos nuevas filas a la tabla `productos`, cada una con los valores especificados para `nombre_producto` y `precio`.
3. Insertar con SELECT
sql
INSERT INTO archive_table (column1, column2)
SELECT column1, column2
FROM main_table
WHERE condition;
Los datos se insertan en `tabla_archivo` basándose en una sentencia `SELECT`, lo que permite la transferencia masiva de datos en condiciones específicas. A diferencia de `INSERT ... VALUES`, esta operación no utiliza la palabra clave `VALUES`.
Consejos y buenas prácticas
- Asegúrate de que el orden de los valores coincide con el de las columnas. Los valores deben coincidir con el orden de las columnas especificado en la sentencia `INSERT INTO`.
- Utiliza comillas simples para las cadenas. Encierra los literales de cadena entre comillas simples para evitar errores de sintaxis.
- Valida los tipos de datos. Asegúrate de que los valores coinciden con los tipos de datos esperados por las columnas de la tabla.
- Considera la posibilidad de utilizar `INSERTAR IGNORAR` o `REEMPLAZAR`. Pueden gestionar duplicados o conflictos basados en claves primarias o índices únicos.
- Asegura tus entradas. Utiliza consultas parametrizadas o sentencias preparadas para evitar ataques de inyección SQL.
- Gestiona errores y excepciones. Ten en cuenta posibles errores como la clave duplicada o la violación de restricciones de clave ajena.