Comment copier une table dans MySQL

Comment copier une table dans MySQL
Il y a des cas où nous pouvons avoir besoin de copier un tableau spécifique à partir de la même base de données ou d'une autre base. Par exemple, lors de l'exécution de sauvegardes ou de migrations, nous pourrions avoir besoin de restaurer un tableau sans restaurer toute la base de données.

Ce tutoriel expliquera comment copier un tableau à partir d'une base de données dans une autre table à l'aide de MySQL Créer et sélectionner des clauses.

Cas d'utilisation

Le premier cas où nous devons copier un tableau est de copier des données spécifiques d'un tableau existant à un nouveau. Par exemple, dans la base de données de l'exemple de Sakila, nous pouvons copier des informations spécifiques de la table de film à une nouvelle table appelée Film_revised.

Considérez la requête ci-dessous pour effectuer une telle opération:

Créer une base de données copy_tb;
Utilisez Copy_tb;
Créer la table Film_revisé Select Title, release_year, Longueur, Rating de Sakila.film;

Une fois la requête ci-dessus exécutée, nous pouvons afficher les données stockées dans le tableau en utilisant l'instruction MySQL Select comme indiqué dans la sortie ci-dessous:

MySQL> SELECT * FROM FILM_REVISED LIMIT 10;
+------------------+--------------+--------+--------+
| Titre | release_year | longueur | Note |
+------------------+--------------+--------+--------+
| Dinosaure de l'Académie | 2006 | 86 | PG |
| Ace Goldfinger | 2006 | 48 | G |
| Trous d'adaptation | 2006 | 50 | NC-17 |
| Préjugés d'affaires | 2006 | 117 | G |
| Œuf africain | 2006 | 130 | G |
| Agent Truman | 2006 | 169 | PG |
| Airplane Sierra | 2006 | 62 | PG-13 |
| Pollock de l'aéroport | 2006 | 54 | R |
| Alabama Devil | 2006 | 114 | PG-13 |
| Calendrier d'Aladdin | 2006 | 63 | NC-17 |
+------------------+--------------+--------+--------+
10 lignes en jeu (0.00 sec)

Comme vous pouvez le voir, nous pouvons créer de nouvelles tables avec des informations sélectionnées à partir de tables existantes sans modifier les données dans la base de données d'origine.

NOTE: Copie d'une table à l'aide du tableau Créer et sélectionnez les instructions uniquement copie la table et ses données. Il ne copie pas d'objets tels que des indices, des déclencheurs, des contraintes de clés primaires, etc., connecté à la table d'origine.

Copier la table + objets

Pour copier le tableau + les données et tous les objets connexes, nous utilisons l'instruction similaire suivie de l'instruction INSERT comme illustré dans la requête ci-dessous:

Créer une table Film_copy comme Sakila.film;
Insérer Film_copy Select * depuis Sakila.film;

La requête ci-dessus copiera tout de la table d'origine dans la nouvelle, y compris les indices, les clés primaires, les contraintes et autres objets connectés au tableau d'origine.

NOTE: Soyez prudent lorsque vous utilisez les instructions de copie sur des tables massives car ils peuvent utiliser plus de ressources et prendre beaucoup de temps pour terminer.

Copier les tables des bases de données distinctes

Si vous devez copier un tableau à partir de différentes bases de données, vous pouvez référencer la base de données à l'aide du point (.) notation.

Par exemple, commencez par créer une nouvelle base de données comme:

Créer une base de données s'il n'existe pas multi_db;

Ensuite, utilisez la syntaxe indiquée précédemment pour copier un tableau de l'ancienne base de données vers la nouvelle. Voir la requête ci-dessous:

Créer une table multi_db.new_tb comme sakila.film;
Insérer Multi_DB.new_tb select * from Sakila.film;

Cela copiera la table de film de la table de la base de données Sakila dans la nouvelle et affichera la sortie comme indiqué ci-dessous:

Requête OK, 1000 lignes affectées (0.03 SEC)
Enregistrements: 1000 doublons: 0 avertissements: 0

Vous pouvez utiliser l'instruction SELECT pour vérifier que les données ont été copiées avec succès.

Conclusion

Ce guide rapide a expliqué comment utiliser MySQL Créer un tableau et sélectionner des instructions pour copier des colonnes spécifiques d'une table à une nouvelle table.

Nous avons également examiné comment copier toutes les données, y compris les objets associés à la table d'origine, dans un nouveau tableau.

Enfin, nous avons discuté de la façon de copier des tables d'une base de données à une autre.

Merci pour la lecture.