Maison > base de données > tutoriel mysql > le corps du texte

Comment créer une table de clonage MySQL ?

WBOY
Libérer: 2023-09-15 10:49:02
avant
1357 Les gens l'ont consulté

我们如何制作 MySQL 克隆表?

Parfois, il peut y avoir une situation où nous avons besoin d'une copie exacte d'une table et CREATE TABLE ... SELECT ne convient pas à nos besoins car la copie doit contenir les mêmes index, valeurs par défaut, etc.

Vous pouvez suivre les étapes ci-dessous pour gérer cette situation et créer un clone de la table comme indiqué ci-dessous -

  • Utilisez SHOW CREATE TABLE pour obtenir l'instruction CREATE TABLE, qui spécifie la structure, les index, etc. de la table source .
  • Modifiez l'instruction, remplacez le nom de la table par le nom de la table clonée, puis exécutez l'instruction. De cette façon, nous obtiendrons une table de clonage exacte.
  • Alternativement, si nous devons également copier le contenu de la table, nous pouvons également émettre une instruction INSERT INTO ... SELECT.

Exemple

Dans l'exemple suivant, nous allons créer une table de clonage pour tutoriels_tbl.

Étape 1

Obtenez la structure complète du tableau.

mysql> SHOW CREATE TABLE tutorials_tbl \G;

*************************** 1. row ***************************
Table: tutorials_tbl
Create Table: CREATE TABLE `tutorials_tbl` (
   `tutorial_id` int(11) NOT NULL auto_increment,
   `tutorial_title` varchar(100) NOT NULL default '',
   `tutorial_author` varchar(40) NOT NULL default '',
   `submission_date` date default NULL,
   PRIMARY KEY (`tutorial_id`),
   UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
) TYPE = MyISAM
1 row in set (0.00 sec)
ERROR:
No query specified
Copier après la connexion

Étape 2

Renommez la table et créez une autre table.

mysql> CREATE TABLE clone_tbl (
    -> tutorial_id int(11) NOT NULL auto_increment,
    -> tutorial_title varchar(100) NOT NULL default '',
    -> tutorial_author varchar(40) NOT NULL default '',
    -> submission_date date default NULL,
    -> PRIMARY KEY (tutorial_id),
    -> UNIQUE KEY AUTHOR_INDEX (tutorial_author)
    -> ) TYPE = MyISAM;
Query OK, 0 rows affected (1.80 sec)
Copier après la connexion

Étape 3

Après avoir effectué l'étape 2, vous créerez une table de clonage dans la base de données. Si vous souhaitez copier des données de l'ancienne table, vous pouvez le faire à l'aide de l'instruction INSERT INTO...SELECT.

mysql> INSERT INTO clone_tbl (tutorial_id, tutorial_title, tutorial_author, submission_date)
    -> SELECT tutorial_id,tutorial_title,
    ->    tutorial_author,submission_date
    -> FROM tutorials_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3 Duplicates: 0 Warnings: 0
Copier après la connexion

Au final, nous aurons une table de clonage qui correspond exactement à ce que vous voulez.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!