sql >> Base de Datos >  >> RDS >> Mysql

Copie los datos en una nueva tabla en MySQL

Puede copiar fácilmente datos en una nueva tabla en MySQL usando SELECCIONAR EN. Esto le ayuda a crear tablas temporales rápidamente.

La declaración SELECT INTO copia datos de una tabla y los inserta en una nueva tabla. La declaración SELECT INTO selecciona datos de una tabla y los inserta en una nueva tabla.

Sintaxis SQL SELECT INTO

Copie todas las columnas en una nueva tabla en la misma base de datos:

SELECT *
INTO new_table
FROM table_name;

Copie todas las columnas en una nueva tabla en una base de datos diferente:

SELECT *
INTO new_table IN database_name
FROM table_name;

Copie solo las columnas que queremos en la nueva tabla en la misma base de datos:

SELECT column_name1,column_name2,..
INTO new_table
FROM table_name;
SELECT column_name1,column_name2,..
INTO new_table IN database_name
FROM table_name;

Nota

La nueva tabla se creará con los nombres de columna y los tipos definidos en la instrucción SELECT. Puede aplicar nuevos nombres utilizando la cláusula AS.

Ejemplos de SQL SELECT INTO
Crear una copia de seguridad de Clientes:

SELECT *
INTO Users_Backup
FROM Users;

Utilice la cláusula IN para copiar la tabla en otra base de datos:

SELECT *
INTO Users_Backup IN 'Backup_database'
FROM Users;

Copie solo unas pocas columnas en la nueva tabla:

SELECT User_Name, User_Contact
INTO Users_Backup
FROM Users;

Copie solo los clientes estadounidenses en la nueva tabla:

SELECT *
INTO Users_Backup
FROM Users
WHERE Country='USA';

Copie datos de más de una tabla en la nueva tabla:

SELECT Users.User_Name, Orders.Order_ID
INTO Users_Order_Backup
FROM Users
LEFT JOIN Orders
ON Users.User_ID=Orders.User_ID;

Consejo :La declaración SELECT INTO también se puede usar para crear una nueva tabla vacía usando el esquema de otra. Simplemente agregue una cláusula WHERE que haga que la consulta no devuelva datos: