MySQL INTO Palabra clave
La palabra clave INTO
en MySQL se utiliza para especificar el destino de los datos que se insertan o seleccionan. Suele aparecer en las sentencias INSERT INTO
para añadir datos a las tablas y en las SELECT ... INTO
para almacenar datos en variables.
Utilización
La palabra clave INTO
se emplea cuando quieres dirigir datos a una tabla o variable. En una sentencia INSERT
, ayuda a especificar la tabla de destino, mientras que en una sentencia SELECT ... INTO
, define el destino de los datos seleccionados, normalmente en variables.
Syntax
INSERTAR EN
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
Aquí, INTO table_name
indica la tabla donde se añadirán los nuevos datos.
SELECT INTO Variables
SELECT column1, column2, ...
INTO @variable1, @variable2, ...
FROM existing_table
[WHERE condition];
Esta sintaxis almacena los resultados de la consulta en variables definidas por el usuario.
Crear una nueva tabla a partir de una consulta SELECT
CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM existing_table
[WHERE condition];
Esta sintaxis crea una nueva tabla new_table
que contiene datos seleccionados de existing_table
.
Ejemplos
1. Inserción básica
INSERT INTO products (product_name, price)
VALUES ('Laptop', 999.99);
Este ejemplo inserta una nueva fila en la tabla products
con los valores especificados para product_name
y price
.
2. Almacenar el resultado de la consulta en variables
SELECT COUNT(*) INTO @total_customers
FROM customers
WHERE country = 'USA';
En este ejemplo, el resultado de la consulta de recuento se almacena en una variable definida por el usuario @total_customers
.
3. Crear una nueva tabla a partir de una consulta SELECT
CREATE TABLE recent_orders AS
SELECT customer_id, order_date
FROM orders
WHERE order_date > '2023-01-01';
Esta sintaxis crea una nueva tabla recent_orders
que contiene datos seleccionados de orders
cuya fecha de pedido es posterior al 1 de enero de 2023.
Consejos y buenas prácticas
- Asegúrate de la existencia de la tabla. Si utilizas
INSERT INTO
, asegúrate de que la tabla de destino ya existe. - Utiliza
CREATE TABLE ... AS SELECT ...
para las tablas nuevas. Para crear una tabla nueva a partir de una consulta select, prefiere utilizarCREATE TABLE ... AS SELECT ...
en lugar deSELECT INTO
. - Verifica los tipos de datos. Haz coincidir los tipos de datos de los valores con las definiciones de las columnas en
INSERT INTO
para evitar errores. - Aprovecha las variables para consultas complejas. Utiliza
SELECT ... INTO
con variables para almacenar los resultados de consultas complejas para su uso posterior. - Gestiona errores y excepciones. Implementa el tratamiento de errores para gestionar las excepciones durante las operaciones de inserción o selección de datos.
Nota: MySQL difiere de otros dialectos SQL como SQL Server, donde se utiliza SELECT INTO
para crear nuevas tablas. En MySQL, utiliza para ello CREATE TABLE ... AS SELECT ...
.