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

Table temporaire SQL

Dans ce tutoriel, vous apprendrez à créer des tables temporaires en utilisant SQL.

Créer une table temporaire

Les tables temporaires sont des tables visibles uniquement pour la session en cours et sont automatiquement supprimées lors de la fermeture de la session qui a créé la table.

Par conséquent, étant donné que les tables temporaires ne sont pas stockées de manière permanente dans la base de données, elles sont très utiles lorsque vous avez besoin de courte durée pour exécuter ou tester certaines tables et que vous souhaitez que cette table disparaisse automatiquement.

Syntaxe

L'instruction CREATE TEMPORARY TABLE est utilisée pour créer des tables temporaires.

CREATE TEMPORARY TABLE table_name (column definitions);

Si vous souhaitez créer une table temporaire à partir de zéro, vous pouvez utiliser le mot-clé TEMPORARY lors de la création de la table, c'est-à-dire utiliser CREATE TEMPORARY TABLE à la place de l'instruction CREATE TABLE. Pour plus de détails et des exemples complets, voir Créer une tabled'un chapitre.

Créer une copie temporaire de la table existante

Dans le cas où vous souhaitez tester des requêtes SQL sans affecter la base de données, les tables temporaires peuvent être très utiles. Laissons-nous dansDans la base de données MySQLCréer une copie temporaire de la table existante.

Tapez les commandes suivantes dans l'invite de commande MySQL et appuyez sur Entrée :

mysql> CREATE TEMPORARY TABLE persons SELECT * FROM persons;

L'expression ci-dessus crée dynamiquement une table temporaire nommée persons à partir du jeu de résultats de la table existante persons. De plus, étant une copie temporaire de la table persons, vous pouvez exécuterINSERTIONMISE À JOURouDELETEToute opération, sans craindre d'affecter incorrectement la table de base originale persons.

Astuce :Les tables temporaires peuvent avoir le même nom que les tables de base permanentes. Si le nom de la table temporaire que vous spécifiez est le même que le nom de la table de base existante, la table de base permanente sera masquée jusqu'à ce que la table temporaire soit supprimée.

Attention :Les tables temporaires sont spécifiques à la session, donc deux sessions différentes peuvent utiliser le même nom de table temporaire sans se confliter.

Suppression de la table temporaire

Les tables temporaires sont automatiquement supprimées après la fermeture de la connexion ou de la session où elles ont été créées. Mais, si vous souhaitez les supprimer sans fermer la session actuelle, vous pouvez utiliser l'instruction DROP TEMPORARY TABLE suivante :

mysql> DROP TEMPORARY TABLE persons;

L'instruction ci-dessus sera supprimée depersonsSuppression de la table temporaire dans la base de données. Après cela, l'originalpersonsLa table de base deviendra visible.