Algumas situações requerem a produção de uma cópia exata de uma tabela existente. A instrução CREATE ... SELECT não pode produzir essa saída porque negligencia coisas como índices e valores padrão.
O procedimento para duplicar uma tabela é o seguinte -
Utilize SHOW CREATE TABLE para produzir uma instrução CREATE TABLE que detalha toda a estrutura da tabela de origem.
Edite a instrução para dar um novo nome à tabela e execute-a.
Use uma instrução INSERT INTO ... SELECT se também precisar que os dados da tabela sejam copiados.
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;
Outro método para criar uma duplicata usa uma instrução CREATE TABLE AS. A instrução copia todas as colunas, definições de coluna e preenche a cópia com os dados da tabela de origem.
Revise sua sintaxe fornecida abaixo -
CREATE TABLE clone_tbl AS
SELECT columns
FROM original_tbl
WHERE conditions];
Reveja um exemplo de seu uso abaixo -
CREATE TABLE products_copy_tbl AS
SELECT *
FROM products_tbl;