Duplicar una tabla, índices y datos de MySQL

Resuelto xkcd150 asked hace 14 años • 15 respuestas

¿Cómo copio, clono o duplico los datos, la estructura y los índices de una tabla MySQL en una nueva?

Esto es lo que he encontrado hasta ahora.

Esto copiará los datos y la estructura, pero no los índices:

create table {new_table} select * from {old_table};

Esto copiará la estructura y los índices, pero no los datos:

create table {new_table} like {old_table};
xkcd150 avatar Jul 19 '10 16:07 xkcd150
Aceptado

Para copiar con índices y disparadores haga estas 2 consultas:

CREATE TABLE new_table LIKE old_table; 
INSERT INTO new_table SELECT * FROM old_table;

Para copiar solo la estructura y los datos, use este:

CREATE TABLE new_table AS SELECT * FROM old_table;

He preguntado esto antes:

Copiar una tabla MySQL incluyendo índices

Haim Evgi avatar Jul 19 '2010 09:07 Haim Evgi

Además de la solución anterior, puede utilizarla ASpara hacerlo en una línea.

CREATE TABLE tbl_new AS SELECT * FROM tbl_old;
theDistantStar avatar Apr 22 '2015 12:04 theDistantStar

Manera de MySQL:

CREATE TABLE recipes_new LIKE production.recipes;
INSERT recipes_new SELECT * FROM production.recipes;
Krishneil avatar Dec 20 '2016 20:12 Krishneil