Copier une table MySQL

Mars 2013

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.

0 commentaire
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré