Comment MySQL crée/supprime-t-il une table temporaire ? Le rôle des tables temporaires MySQL

MySQLComment créer/supprimer une table temporaire ?MySQLLe rôle des tables temporaires

Table temporaire MySQL

Les tables temporaires MySQL sont très utiles lorsque nous devons stocker des données temporaires.Les tables temporaires ne sont visibles que dans la connexion en cours. Lorsque la connexion est fermée, Mysql supprime automatiquement la table et libère tout l'espace.

Des tables temporaires ont été ajoutées dans MySQL version 3.23. Si votre version de MySQL est inférieure à la version 3.23, vous ne pouvez pas utiliser les tables temporaires MySQL.Cependant, il est rare d'utiliser une version aussi basse maintenant.Base de données MySQLservice.

La table temporaire de MySQL n'est visible que pour la connexion en cours. Si vous utilisez un script PHP pour créer une table temporaire MySQL, la table temporaire sera automatiquement détruite à chaque exécution du script PHP.

Si vous utilisez un autre programme client MySQL pour vous connecter au serveur de base de données MySQL afin de créer une table temporaire, la table temporaire ne sera détruite qu'à la fermeture du programme client. Bien entendu, vous pouvez également la détruire manuellement.

Exemple

Ce qui suit montre un exemple simple d'utilisation de la table temporaire MySQL, le code SQL suivant peut être appliqué à la fonction mysql_query() du script PHP.

MySQL的> CREATE TEMPORARY TABLE SalesSummary - > PRODUCT_NAME VARCHAR 50 NOT NULL
     - > TOTAL_SALES DECIMAL 12 2 NOT NULL DEFAULT 0.00 - > avg_unit_price DECIMAL 7 2 NOT NULL DEFAULT 0.00 - > total_units_sold INT UNSIGNED NOT NULL DEFAULT 0 ); 查询OK 0 行受影响0.00  
     
     
     

 

的MySQL > INSERT INTO SalesSummary - > PRODUCT_NAME TOTAL_SALES avg_unit_price total_units_sold - > VALUES
     - > '黄瓜' 100.25 90 2 );
     
        

mysql > SELECT * FROM SalesSummary ; + -------------- + ------------- + ---------------- + --- --------------- + | product_name | total_sales | avg_unit_price | total_units_sold | + -------------- + ------------- + ---------------- + --- --------------- + | 黄瓜      | 100.25 | 90.00 | 2 | + -------------- + ------------- + ---------------- + --- --------------- + 1 集合0.00 



                                   

  

quand vous utilisezMONTRER LES TABLESLorsque la commande affiche la liste des tables de données, vous ne pourrez pas voir la table SalesSummary.

Si vous quittez la session MySQL en cours, utilisezSELECTcommande pour lire les données de la table temporaire créée à l'origine, vous constaterez que la table n'existe pas dans la base de données, car la table temporaire a été détruite lorsque vous quittez.


Supprimer la table temporaire MySQL

Par défaut, les tables temporaires sont automatiquement détruites lorsque vous vous déconnectez de la base de données.Bien sûr, vous pouvez également utiliser dans la session MySQL en coursTABLE DROPcommande pour supprimer manuellement la table temporaire.

Voici un exemple de suppression manuelle d'une table temporaire :

mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);

mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql>DROP TABLE SalesSummary ; 
mysql >   SELECT * FROM SalesSummary ; 
错误1146 'chenweiliang.SalesSummary' 存在  

发表 评论

Votre adresse email ne sera pas publiée. 项 已 用 * 标注

Remonter en haut