MySQL中關(guān)于臨時(shí)表的一些基本使用方法
臨時(shí)表可能是非常有用的,在某些情況下,保持臨時(shí)數(shù)據(jù)。最重要的是應(yīng)該知道的臨時(shí)表是,他們將當(dāng)前的客戶端會話終止時(shí)被刪除。
臨時(shí)表中添加MySQL版本3.23。如果您使用的是舊版本的MySQL比3.23,可以不使用臨時(shí)表,但可以使用堆表。
如前所述臨時(shí)表將只持續(xù)只要的會話是存在的。如果運(yùn)行一個(gè)PHP腳本中的代碼,該臨時(shí)表將被銷毀時(shí),會自動執(zhí)行完腳本后。如果已連接到MySQL數(shù)據(jù)庫的服務(wù)器上,通過MySQL的客戶端程序的臨時(shí)表將一直存在,直到關(guān)閉客戶端或手動破壞的表。
實(shí)例
下面是一個(gè)例子,使用臨時(shí)表在PHP腳本中,使用mysql_query()函數(shù),可以使用相同的代碼。
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)
當(dāng)發(fā)出一個(gè)SHOW TABLES命令,那么臨時(shí)表將不會被列在列表中。現(xiàn)在如果將MySQL的會話的注銷,那么會發(fā)出SELECT命令,那么會發(fā)現(xiàn)沒有在數(shù)據(jù)庫中的數(shù)據(jù)。即使臨時(shí)表也就不存在了。
刪除臨時(shí)表:
默認(rèn)情況下,所有的臨時(shí)表被刪除時(shí),MySQL的數(shù)據(jù)庫連接被終止。不過要?jiǎng)h除他們之前就應(yīng)該發(fā)出DROP TABLE命令。
下面的例子為刪除一個(gè)臨時(shí)表。
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;
ERROR 1146: Table 'TUTORIALS.SalesSummary' doesn't exist
相關(guān)文章
一文帶你搞懂MySQL中的隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換
在mysql中,當(dāng)操作涉及不同類型的數(shù)據(jù)時(shí),會根據(jù)一定的規(guī)則自動進(jìn)行類型轉(zhuǎn)換,本文主要來和大家聊聊隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換的相關(guān)知識,需要的可以參考一下2025-04-04
Mysql入門基礎(chǔ) 數(shù)據(jù)庫創(chuàng)建篇
Mysql入門基礎(chǔ) 數(shù)據(jù)庫創(chuàng)建篇,剛接觸php與mysql的朋友可以參考下。多寫多測試。2010-04-04
MySQL BinLog如何恢復(fù)誤更新刪除數(shù)據(jù)
這篇文章主要介紹了MySQL BinLog如何恢復(fù)誤更新刪除數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
MySQL 數(shù)據(jù)庫鎖的實(shí)現(xiàn)
本文主要介紹了MySQL 數(shù)據(jù)庫鎖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

