Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Copie dados para uma nova tabela no MySQL


Você pode facilmente copiar dados para uma nova tabela no MySQL usando SELECT INTO. Isso ajuda você a criar tabelas temporárias rapidamente.

A instrução SELECT INTO copia dados de uma tabela e os insere em uma nova tabela. A instrução SELECT INTO seleciona dados de uma tabela e os insere em uma nova tabela.

Sintaxe SQL SELECT INTO

Copie todas as colunas para a nova tabela no mesmo banco de dados:
SELECT *
INTO new_table
FROM table_name;

Copie todas as colunas para uma nova tabela em um banco de dados diferente:
SELECT *
INTO new_table IN database_name
FROM table_name;

Copie apenas as colunas que queremos para a nova tabela no mesmo banco de dados:
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;

Observação

A nova tabela será criada com os nomes das colunas e os tipos definidos na instrução SELECT. Você pode aplicar novos nomes usando a cláusula AS.

Exemplos de SQL SELECT INTO
Crie uma cópia de backup de Clientes:
SELECT *
INTO Users_Backup
FROM Users;

Use a cláusula IN para copiar a tabela em outro banco de dados:
SELECT *
INTO Users_Backup IN 'Backup_database'
FROM Users;

Copie apenas algumas colunas para a nova tabela:
SELECT User_Name, User_Contact
INTO Users_Backup
FROM Users;

Copie apenas os clientes americanos para a nova tabela:
SELECT *
INTO Users_Backup
FROM Users
WHERE Country='USA';

Copie dados de mais de uma tabela para a nova tabela:
SELECT Users.User_Name, Orders.Order_ID
INTO Users_Order_Backup
FROM Users
LEFT JOIN Orders
ON Users.User_ID=Orders.User_ID;

Dica :A instrução SELECT INTO também pode ser usada para criar uma nova tabela vazia usando o esquema de outra. Basta adicionar uma cláusula WHERE que faz com que a consulta não retorne nenhum dado: