Como duplicar uma tabela no MySQL com comando ou com PHP

Sim, é possível duplicar tabelas no MySQL com um simples comando, você pode duplicar apenas a estrutura, como também pode duplicar toda estrutura e dados.

Duplicando a estrutura de uma tabela MySQL

Para duplicar apenas a estrutura use;

create table tabelaNova like tabelaAserCopiada

Duplicando a estrutura e registros de uma tabela MySQL

Agora, se precisar duplicar também os dados dos registros, o comando a seguir resolve a sua vida;

CREATE TABLE tabelaNova SELECT * FROM tabelaAserCopiada;

A ganda sacada aqui é que você também pode usar o WHERE caso seja necessário e criar a tabela apenas com os dados necessários.

Como duplicar uma tabela com PHP

Se você precisar fazer o mesmo com PHP basta aplicar este código, eu utilizo PDO.

<?php
require "conexao.php"; // Dados de conexão com o BD
$q = $dbo->prepare("CREATE TABLE tabelaNova LIKE tabelaAserCopiada");
$q->execute();
$resultado = $q->fetchAll();
?>

Se você não manja nada conexão com banco de dados usando PDO, segue o código padrão de uma conexão, você pode usar este código no arquivo conexao.php exigido no código acima.

<?php
$host_name = "nomeDoServidor"; // normalmente é localhost
$database = "nomeDoBancoDeDados"; 
$username = "";
$password = "";

//////// Não precisa editar daqui para baixo /////////
try {
$dbo = new PDO('mysql:host='.$host_name.';dbname='.$database, $username, $password);
} catch (PDOException $e) {
print "Erro!: " . $e->getMessage() . "<br/>";
die();
}
?>
copiar dados de uma tabela para outraduplicar dados de uma tabeladuplicar tabelas com PHPduplicar tabelas no MySQL