Como copiar uma tabela em mysql

Como copiar uma tabela em mysql
Existem alguns casos em que podemos precisar copiar uma tabela específica do mesmo ou de um banco de dados diferente. Por exemplo, ao executar backups ou migrações, talvez seja necessário restaurar uma tabela sem restaurar todo o banco de dados.

Este tutorial superará como copiar uma tabela de um banco de dados em outra tabela usando MySQL Create e Select Clauss.

Casos de uso

O primeiro caso em que precisamos copiar uma tabela é copiar dados específicos de uma tabela existente para uma nova. Por exemplo, no banco de dados de amostra de Sakila, podemos copiar informações específicas da tabela de filme para uma nova tabela chamada film_revised.

Considere a consulta abaixo para executar essa operação:

Criar banco de dados copy_tb;
use copy_tb;
Crie Tabela Film_revised Select Title, Release_year, Comprimento, Classificação de Sakila.filme;

Depois que a consulta acima é executada, podemos visualizar os dados armazenados na tabela usando a instrução MySQL Select, conforme mostrado na saída abaixo:

mysql> selecione * Film_Revised Limit 10;
+------------------+--------------+--------+--------+
| título | release_year | comprimento | Classificação |
+------------------+--------------+--------+--------+
| DINOSAURO da Academia | 2006 | 86 | PG |
| Ace Goldfinger | 2006 | 48 | G |
| Orifícios de adaptação | 2006 | 50 | NC-17 |
| Preconceito de caso | 2006 | 117 | G |
| Ovo africano | 2006 | 130 | G |
| Agente Truman | 2006 | 169 | PG |
| Airplano Sierra | 2006 | 62 | PG-13 |
| Aeroporto Pollock | 2006 | 54 | R |
| Alabama Devil | 2006 | 114 | PG-13 |
| Calendário de Aladdin | 2006 | 63 | NC-17 |
+------------------+--------------+--------+--------+
10 linhas no set (0.00 seg)

Como você pode ver, podemos criar novas tabelas com informações selecionadas de tabelas existentes sem alterar os dados no banco de dados original.

OBSERVAÇÃO: Copiar uma tabela usando a tabela Criar e selecionar instruções apenas copia a tabela e seus dados. Ele não copia objetos como índices, gatilhos, restrições de chaves primárias, etc., conectado à tabela original.

Tabela de cópias + objetos

Para copiar os dados da tabela + e todos os objetos relacionados, usamos a declaração semelhante seguida pela declaração de inserção, conforme ilustrado na consulta abaixo:

Crie Table Film_copy como Sakila.filme;
Inserir film_copy Select * de Sakila.filme;

A consulta acima copiará tudo, desde a tabela original até a nova, incluindo índices, chaves primárias, restrições e outros objetos conectados à tabela original.

OBSERVAÇÃO: Tenha cuidado ao usar as declarações de cópia em mesas enormes, pois elas podem usar mais recursos e levar muito tempo para concluir.

Copiar tabelas de bancos de dados separados

Se você precisar copiar uma tabela de diferentes bancos de dados, poderá fazer referência ao banco de dados usando o DOT (.) notação.

Por exemplo, comece criando um novo banco de dados como:

Crie banco de dados, se não existe multi_db;

Em seguida, use a sintaxe mostrada anteriormente para copiar uma tabela do banco de dados antigo para o novo. Veja a consulta abaixo:

Crie a tabela multi_db.new_tb como Sakila.filme;
Insira multi_db.new_tb Select * de Sakila.filme;

Isso copiará a tabela de filme da tabela do banco de dados Sakila para o novo e exibirá a saída como mostrado abaixo:

Consulta ok, 1000 linhas afetadas (0.03 seg)
Registros: 1000 duplicados: 0 avisos: 0

Você pode usar a instrução SELECT para verificar se os dados foram copiados com sucesso.

Conclusão

Este guia rápido analisou como usar o MySQL Criar tabela e selecionar instruções para copiar colunas específicas de uma tabela para uma nova tabela.

Também analisamos como copiar todos os dados, incluindo objetos associados à tabela original, para uma nova tabela.

Finalmente, discutimos como copiar tabelas de um banco de dados para outro.

Obrigado pela leitura.