MySQL: Duplicando uma tabela com apenas 1 comando SQL

Publicado por Fábio Berbert de Paula em 06/08/2009

[ Hits: 91.106 ]

Blog: https://fabio.automatizando.dev

 


MySQL: Duplicando uma tabela com apenas 1 comando SQL



Duplicar uma tabela no MySQL, mantendo sua estrutura e importando os registros da tabela original, é mais fácil do que eu imaginava.

Hoje precisei fazer isso e uma rápida googlada me levou até: SQL COPY MySQL TABLE with structure and records.

Sem mais delongas, no console de seu MySQL digite a seguinte query:

CREATE TABLE novaTabela SELECT * FROM tabelaPai;

Simples assim!

Outras dicas deste autor

PyCharm no Debian 10 Buster

ffmpeg - Como aumentar ou reduzir o volume de um áudio ou video via linha de comando

Verificar o status da bateria via linha de comando

Como baixar vídeos do Reddit usando um Python-Bot

Como fazer o editor Vim mostrar/ocultar os números das linhas

Leitura recomendada

Recuperando a senha de root do MySQL

Entrando no MySQL 5.6 (as dificuldades de acessar o MySQL 5.6)

Recriar replicação no MySQL de maneira fácil

Instalação do MySQL via atualização de repositório

MySQL - Reset senha root e acesso localhost

  

Comentários
[1] Comentário enviado por julianometal em 22/03/2010 - 12:11h

Boa dica para quando precisamos criar outra tabela a partir de uma outra copiando sua estrutura e seus registros.
Vou acrescentar aqui, se este comando fosse no Postgres só teria uma palavrinha a mais:

CREATE TABLE novaTabela AS SELECT * FROM tabelaPai;

[2] Comentário enviado por gianclaudio em 27/04/2010 - 19:10h

Olá a todos.

Na verdade, aqui o resultado não foi exatamente o esperado.
Ele criou a tabela nova e copiou todos os registros porém não definiu a chave primária, índices nem autoincremento.
Pra resolver, quase tão fácil quanto o proposto acima:

CREATE TABLE nova_tabela LIKE tabela_antiga;
INSERT INTO nova_tabela SELECT * FROM tabela_antiga;

Deste modo, a tabela é criada fielmente com índices, autoincremento etc e todos os registros copiados.
Lembrando que o SELECT pode ter filtros normalmente, podendo selecionar os registros que irão para a nova tabela.

Abração

[3] Comentário enviado por pethros em 31/12/2012 - 10:03h

Muito Obrigado!

[4] Comentário enviado por miqueloti em 19/08/2014 - 17:16h

Valeu!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts