Latest web development tutorials

Table MySQL Copier

Si nous avons besoin d'une copie complète de tables de données MySQL, y compris la structure de la table, les index, les valeurs par défaut, etc. Si vous utilisez uniquement l' instruction CREATE TABLE ... commande SELECT, ne peut pas être atteint.

Ce chapitre vous montrera comment remplir copier les tables de données MySQL, les étapes suivantes:

  • Utilisez la commande SHOW CREATE TABLE commande pour obtenir des données pour créer une table (CREATE TABLE) déclaration qui contient les structures originales de table de données, des index, et ainsi de suite.
  • Copiez la commande suivante pour afficher les instructions SQL pour modifier le nom de la table, et exécuter des instructions SQL, la commande ci-dessus sera entièrement répliquée structure de la table de données.
  • Si vous souhaitez copier le contenu de la table, vous pouvez utiliser l' instruction INSERT INTO ... SELECT pour atteindre.

Exemples

Essayez les exemples suivants pour copier la table w3big_tbl.

Première étape:

Obtenir la structure complète du tableau de données.

mysql> SHOW CREATE TABLE w3big_tbl \G;
*************************** 1. row ***************************
       Table: w3big_tbl
Create Table: CREATE TABLE `w3big_tbl` (
  `w3big_id` int(11) NOT NULL auto_increment,
  `w3big_title` varchar(100) NOT NULL default '',
  `w3big_author` varchar(40) NOT NULL default '',
  `submission_date` date default NULL,
  PRIMARY KEY  (`w3big_id`),
  UNIQUE KEY `AUTHOR_INDEX` (`w3big_author`)
) ENGINE=InnoDB 
1 row in set (0.00 sec)

ERROR:
No query specified

Deuxième étape:

Modifiez l'instruction SQL nom de la table de données, et d'exécuter des instructions SQL.

mysql> CREATE TABLE `clone_tbl` (
  -> `w3big_id` int(11) NOT NULL auto_increment,
  -> `w3big_title` varchar(100) NOT NULL default '',
  -> `w3big_author` varchar(40) NOT NULL default '',
  -> `submission_date` date default NULL,
  -> PRIMARY KEY  (`w3big_id`),
  -> UNIQUE KEY `AUTHOR_INDEX` (`w3big_author`)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (1.80 sec)

Troisième étape:

Après avoir effectué la deuxième étape, vous allez créer une nouvelle table clone clone_tbl dans la base de données. Si vous voulez copier la table de données , vous pouvez utiliser l' instruction INSERT INTO ... SELECT pour atteindre.

mysql> INSERT INTO clone_tbl (w3big_id,
    ->                        w3big_title,
    ->                        w3big_author,
    ->                        submission_date)
    -> SELECT w3big_id,w3big_title,
    ->        w3big_author,submission_date
    -> FROM w3big_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0

Après avoir effectué les étapes ci-dessus, vous devrez remplir les tables de copie, y compris la structure de la table et les données de la table.