Kā MySQL izveido/nomet pagaidu tabulu? MySQL pagaidu tabulu loma

Kā izveidot/dzēst pagaidu tabulu MySQL ? Kāds ir MySQL pagaidu tabulu mērķis?

MySQL pagaidu tabula

MySQL pagaidu tabula ir ļoti noderīga, ja mums ir jāsaglabā daži pagaidu dati.Pagaidu tabulas ir redzamas tikai pašreizējā savienojumā. Kad savienojums tiek aizvērts, Mysql automātiski izdzēsīs tabulu un atbrīvos visu vietu.

MySQL 3.23 versijā tika pievienotas pagaidu tabulas. Ja jūsu MySQL versija ir vecāka par 3.23, jūs nevarat izmantot MySQL pagaidu tabulas. Tomēr mūsdienās šādas zemākas MySQL datubāzes pakalpojumu versijas tiek izmantotas reti.

MySQL pagaidu tabula ir redzama tikai pašreizējam savienojumam. Ja izmantojat PHP skriptu, lai izveidotu MySQL pagaidu tabulu, pagaidu tabula tiks automātiski iznīcināta ikreiz, kad tiks izpildīts PHP skripts.

Ja izmantojat citu MySQL klienta programmu, lai izveidotu savienojumu ar MySQL datu bāzes serveri, lai izveidotu pagaidu tabulu, pagaidu tabula tiks iznīcināta tikai pēc klienta programmas aizvēršanas.Protams, to var iznīcināt arī manuāli.

Piemērs

Tālāk ir parādīts vienkāršs MySQL pagaidu tabulas izmantošanas piemērs. PHP skripta funkcijai mysql_query () var piemērot šādu SQL kodu.

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



                                   

  

Izmantojot komandu SHOW TABLES , lai parādītu tabulu sarakstu, jūs neredzēsiet tabulu SalesSummary.

Ja izejat no pašreizējās MySQL sesijas un pēc tam izmantojat komandu SELECT , lai nolasītu datus no iepriekš izveidotās pagaidu tabulas, jūs atklāsiet, ka tabula datubāzē neeksistē, jo pagaidu tabula tika iznīcināta, kad izgājāt no sesijas.


Nometiet MySQL pagaidu tabulu

Pēc noklusējuma pagaidu tabulas tiek automātiski iznīcinātas, atvienojoties no datubāzes. Varat arī manuāli izdzēst pagaidu tabulas pašreizējās MySQL sesijas laikā, izmantojot komandu DROP TABLE .

Tālāk ir sniegts pagaidu tabulas manuālas nomešanas piemērs.

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

发表 评论

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

Ritiniet uz augšu