Copier une table MySQL
Dans MySQL, on peut copier une table assez facilement, à l'aide de 3 requêtes SQL :
Récupérer la structure d'une table
La commande SHOW CREATE TABLE
fournit le code SQL de création d'une table existante (CREATE TABLE
). Voici un exemple :
SHOW CREATE TABLE `wp_posts`;
Cette requête retourne le code SQL de création de la table :
CREATE TABLE `wp_posts` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', /* ... */ `comment_count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `post_name` (`post_name`), KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), KEY `post_parent` (`post_parent`) ) ENGINE=MyISAM AUTO_INCREMENT=310 DEFAULT CHARSET=utf8
Maintenant il suffit juste de modifier le nom de la table, en wp_posts_copy
par exemple, et d'exécuter cette requête pour créer une nouvelle table dont la structure est 100% identique à la première.
Après avoir lu nombre maximum de 256 colonnes sur excel vous en saurez d'avantage sur ce sujet.
Recopier les données d'une table dans une autre
On va maintenant utiliser une seconde requête qui va copier les données de la première table dans la seconde (la copie qu'on vient de créer) :
INSERT INTO `wp_posts_copy` SELECT * FROM `wp_posts`;
Copier une table avec HeidiSQL
En ce qui me concerne, j'utilise HeidiSQL comme client MySQL, et il permet de copier une table très facilement en faisant clic droit sur une table, puis Table copy.
Fini de lire cette page ? allez faire un tour ici : illustration pop, ça peut vous intéresser.