Algunas situaciones requieren producir una copia exacta de una tabla existente. La instrucción CREATE ... SELECT no puede producir esta salida porque descuida cosas como índices y valores predeterminados.
El procedimiento para duplicar una tabla es el siguiente:
Utilice SHOW CREATE TABLE para producir una declaración CREATE TABLE que detalle toda la estructura de la tabla fuente.
Edite la instrucción para darle a la tabla un nuevo nombre y ejecútela.
Utilice una instrucción INSERT INTO ... SELECT si también necesita que se copien los datos de la tabla.
mysql> INSERT INTO inventory_copy_tbl (
product_id,product_name,product_manufacturer,ship_date)
SELECT product_id,product_name,product_manufacturer,ship_date,
FROM inventory_tbl;
Otro método para crear un duplicado usa una instrucción CREATE TABLE AS. La declaración copia todas las columnas, definiciones de columna y completa la copia con los datos de la tabla de origen.
Revise su sintaxis dada a continuación:
CREATE TABLE clone_tbl AS
SELECT columns
FROM original_tbl
WHERE conditions];
Revise un ejemplo de su uso a continuación:
CREATE TABLE products_copy_tbl AS
SELECT *
FROM products_tbl;