Wie erstellt/löscht MySQL eine temporäre Tabelle? Die Rolle von temporären MySQL-Tabellen

MySQLWie erstelle/lösche ich eine temporäre Tabelle?MySQLDie Rolle temporärer Tabellen

Temporäre MySQL-Tabelle

Temporäre MySQL-Tabellen sind sehr nützlich, wenn wir einige temporäre Daten speichern müssen.Temporäre Tabellen sind nur in der aktuellen Verbindung sichtbar. Wenn die Verbindung geschlossen wird, löscht MySQL automatisch die Tabelle und gibt den gesamten Speicherplatz frei.

Temporäre Tabellen wurden in MySQL-Version 3.23 hinzugefügt. Wenn Ihre MySQL-Version niedriger als Version 3.23 ist, können Sie keine temporären MySQL-Tabellen verwenden.Es ist jedoch selten, eine so niedrige Version zu verwenden.MySQL-Datenbankserviert.

Die temporäre Tabelle von MySQL ist nur für die aktuelle Verbindung sichtbar.Wenn Sie ein PHP-Skript verwenden, um eine temporäre MySQL-Tabelle zu erstellen, wird die temporäre Tabelle automatisch zerstört, wenn das PHP-Skript ausgeführt wird.

Wenn Sie sich mit einem anderen MySQL-Client-Programm mit dem MySQL-Datenbankserver verbinden, um eine temporäre Tabelle zu erstellen, wird die temporäre Tabelle erst beim Schließen des Client-Programms zerstört, Sie können sie natürlich auch manuell zerstören.

Beispiel

Das Folgende zeigt ein einfaches Beispiel für die Verwendung einer temporären MySQL-Tabelle. Der folgende SQL-Code kann auf die Funktion mysql_query() des PHP-Skripts angewendet werden.

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 



                                   

  

wenn Sie es verwendenTISCHE ANZEIGENWenn der Befehl die Liste der Datentabellen anzeigt, können Sie die SalesSummary-Tabelle nicht sehen.

Wenn Sie sich von der aktuellen MySQL-Sitzung abmelden, verwenden SieSELECTBefehl zum Lesen der ursprünglich erstellten temporären Tabellendaten, dann werden Sie feststellen, dass die Tabelle nicht in der Datenbank existiert, da die temporäre Tabelle beim Beenden zerstört wurde.


Löschen Sie die temporäre MySQL-Tabelle

Standardmäßig werden temporäre Tabellen automatisch zerstört, wenn Sie die Verbindung zur Datenbank trennen.Natürlich können Sie auch in der aktuellen MySQL-Session verwendenTROPFENTABELLEBefehl, um die temporäre Tabelle manuell zu löschen.

Im Folgenden finden Sie ein Beispiel für das manuelle Löschen einer temporären Tabelle:

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' 存在  

发表 评论

Ihre E-Mail-Adresse wird nicht veröffentlicht. 必填 项 已 已 * 标注

Nach oben scrollen