Hvordan oppretter/slipper MySQL en midlertidig tabell? Rollen til MySQL midlertidige tabeller

Hvordan oppretter/sletter man en midlertidig tabell i MySQL ? Hva er hensikten med midlertidige tabeller i MySQL ?

MySQL midlertidig tabell

MySQL midlertidig tabell er veldig nyttig når vi trenger å lagre noen midlertidige data.Midlertidige tabeller er kun synlige i gjeldende tilkobling Når tilkoblingen er stengt vil Mysql automatisk slette tabellen og frigjøre all plass.

Midlertidige tabeller ble lagt til i MySQL versjon 3.23. Hvis MySQL-versjonen din er eldre enn 3.23, kan du ikke bruke midlertidige MySQL-tabeller. Slike eldre versjoner av MySQL-databasetjenester brukes imidlertid sjelden nå for tiden.

Den midlertidige MySQL-tabellen er kun synlig for gjeldende tilkobling. Hvis du bruker et PHP-skript for å lage en midlertidig MySQL-tabell, vil den midlertidige tabellen automatisk bli ødelagt hver gang PHP-skriptet kjøres.

Hvis du bruker et annet MySQL-klientprogram for å koble til MySQL-databaseserveren for å lage en midlertidig tabell, vil den midlertidige tabellen kun bli ødelagt når klientprogrammet lukkes.Du kan selvfølgelig også ødelegge den manuelt.

Forekomst

Følgende viser et enkelt eksempel på bruk av MySQL midlertidig tabell, følgende SQL-kode kan brukes på mysql_query()-funksjonen til PHP-skriptet.

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 秒)



                                   

  

Når du bruker kommandoen VIS TABELLER til å vise en liste over tabeller, vil du ikke se tabellen SalesSummary.

Hvis du avslutter den gjeldende MySQL-økten og deretter bruker SELECT- kommandoen til å lese dataene fra den tidligere opprettede midlertidige tabellen, vil du oppdage at tabellen ikke finnes i databasen fordi den midlertidige tabellen ble ødelagt da du avsluttet.


Slipp MySQL midlertidig tabell

Som standard blir midlertidige tabeller automatisk slettet når du kobler fra databasen. Alternativt kan du manuelt slette midlertidige tabeller i den gjeldende MySQL-økten ved å bruke DROP TABLE- kommandoen.

Følgende er et eksempel på å slette en midlertidig tabell manuelt:

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

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Rull til toppen