English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Copie de table SQL

Dans ce tutoriel, vous apprendrez à créer une copie de la table existante.

Cloner ou copier la table

Dans certains cas, vous pourriez只想创建现有表的精确副本或克隆以进行测试或 exécuter certaines opérations sans affecter la table originale.

La prochaine section expliquera comment effectuer cette opération en plusieurs étapes simples.

Étape1:Créer une table vide

Tout d'abord, utilisez la phrase suivante pour créer une table vide selon la définition de la table originale. Cela inclut également les attributs de colonnes et les index définis dans la table originale :

CREATE TABLE new_table LIKE original_table;

Étape2:Insérer les données dans la table

Maintenant, utilisez la phrase suivante pour remplir la table vide avec les données de la table originale :

INSERT INTO new_table SELECT * FROM original_table;

Utilisons l'outil en ligne de commande MySQL pour cloner la table.

Considérons-nousemployeesIl y a une table contenant les enregistrements suivants dans la base de données :

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       4 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       1 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       5 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       3 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

Exécutez l'instruction SQL suivante, qui est basée sur la base de données existanteemployeesLa définition de la table de base de données crée une table videemployees_clone

 employees_clone  employees;

Maintenant, exécutez une autre instruction SQL qui insère toutes les enregistrements de la table employee dans la table employees_clone. Après l'exécution de cette instruction, vous obtiendrez la table employee_clone, qui est une copie exacte ou une copie de la table employee.

 employees_clone  *  employees;

Clonage simple

Cependant, si vous souhaitez créer une table à partir d'une autre table sans prendre en compte aucune propriété de colonne et index, vous pouvez utiliser une simple instruction en une ligne :

CREATE TABLE new_table SELECT * FROM original_table;

Les commandes suivantes créentemployeesSimple copie de table.

 employees_dummy  *  employees;

Avis :Il est possible de créer rapidement une simple copie de n'importe quelle table contenant uniquement la structure et les données de la table source en utilisant la syntaxe CREATE TABLE ... SELECT.