Duplicar una tabla MySQL, índices y datos

¿Cómo copio / clono / duplico los datos, la estructura y los índices de una tabla MySQL a 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}; 

Para copiar con índices y activadores, realice estas 2 consultas:

 CREATE TABLE newtable LIKE oldtable; INSERT newtable SELECT * FROM oldtable; 

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

 CREATE TABLE tbl_new AS SELECT * FROM tbl_old; 

He preguntado esto antes:

Copie una tabla MySQL que incluya índices

Además de la solución anterior, puede usar AS para hacerlo en una línea.

 CREATE TABLE tbl_new AS SELECT * FROM tbl_old; 

Vaya a phpMyAdmin y seleccione su tabla original, luego seleccione la pestaña ” Operaciones ” en el área ” Copiar tabla a (base de datos.tabla) ” seleccione la base de datos donde desea copiar y agregue un nombre para su nueva tabla.

copy table - Captura de pantalla de phyMyAdmin

MySQL Way

 CREATE TABLE recipes_new LIKE production.recipes; INSERT recipes_new SELECT * FROM production.recipes; 

Encontré la misma situación y el enfoque que tomé fue el siguiente: 1. Ejecute SHOW CREATE TABLE: Esto le dará la syntax Create Table para la tabla que desea clonar 2. Ejecute la consulta CREATE TABLE cambiando el nombre de la tabla para clonar la mesa

Esto creará una réplica exacta de la tabla que desea clonar junto con Índices. Lo único que necesita es cambiar el nombre de los índices (si es necesario).

Después de probar la solución anterior. Vengo a mi manera.

Mi solución es un poco manual y necesito DBMS.

Primero exporta los datos.

segundo abra los datos de exportación.

tercero, reemplace el nombre de la tabla anterior con el nuevo nombre de la tabla.

cuarto cambie todo el nombre del disparador en los datos (yo uso mysql y muestra error cuando no cambio el nombre del disparador)

quinto importe sus datos sql editados a la base de datos.

PARA MySQL

 CREATE TABLE newtable LIKE oldtable ; INSERT newtable SELECT * FROM oldtable ; 

PARA MSSQL Use MyDatabase :

 Select * into newCustomersTable from oldCustomersTable; 

Este SQL se usa para copiar tablas, aquí el contenido de oldCustomersTable se copiará a newCustomersTable .
Asegúrese de que newCustomersTable no exista en la base de datos.