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: