English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Copiar Tabela SQL

Neste tutorial, você aprenderá como criar uma cópia de uma tabela existente.

Clonar ou copiar a tabela

Em alguns casos, você pode apenas querer criar uma cópia exata ou clone de uma tabela existente para testar ou executar algumas operações sem afetar a tabela original.

A próxima seção explicará como executar essa operação em várias etapas simples.

Passo1Crie uma tabela vazia

Primeiro, use a seguinte instrução para criar uma tabela vazia com base na definição da tabela original. Isso também inclui as propriedades de coluna e índices definidos na tabela original:

CREATE TABLE new_table LIKE original_table;

Passo2Insira os dados na tabela

Agora, use a seguinte instrução para preencher a tabela vazia com os dados da tabela original:

INSERT INTO new_table SELECT * FROM original_table;

Vamos usar o ferramenta de linha de comando do MySQL para clonar a tabela.

Considere queemployeesexiste uma tabela contendo os seguintes registros no banco de dados:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name | hire_date | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt | 2001-05-01 |   5000 |       4 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       1 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       5 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       3 |
|      5 | Martin Blank | 2008-06-24 |   5600 | NULL |
+--------+--------------+------------+--------+---------+

Execute a seguinte instrução SQL, que se baseia ememployeesA definição da tabela do banco de dados cria uma tabela vaziaemployees_clone.

 employees_clone employees;

Agora, execute outra instrução SQL, que inserirá todos os registros da tabela employee na tabela employees_clone. Após a execução dessa instrução, você terá a tabela employee_clone, que é uma cópia exata ou cópia da tabela employee.

 employees_clone  *  employees;

Clonagem Simples

No entanto, se quiser criar uma tabela a partir de outra tabela sem considerar quaisquer atributos de coluna e índices, você pode usar uma única linha de comando simples:

CREATE TABLE new_table SELECT * FROM original_table;

Os seguintes comandos criamemployeescópia simples da tabela.

 employees_dummy  *  employees;

Dica:Use a sintaxe CREATE TABLE ... SELECT para criar rapidamente uma cópia simples de qualquer tabela que contenha apenas a estrutura e dados da tabela de origem.