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(); } ?>