MySQL 暫存資料表

來源:互聯網
上載者:User

標籤:

MySQL 暫存資料表

MySQL 暫存資料表在我們需要儲存一些臨時資料時是非常有用的。暫存資料表只在當前串連可見,當關閉串連時,Mysql會自動刪除表並釋放所有空間。

暫存資料表在MySQL 3.23版本中添加,如果你的MySQL版本低於 3.23版本就無法使用MySQL的暫存資料表。不過現在一般很少有再使用這麼低版本的MySQL資料庫服務了。

MySQL暫存資料表只在當前串連可見,如果你使用PHP指令碼來建立MySQL暫存資料表,那沒當PHP指令碼執行完成後,該暫存資料表也會自動銷毀。

如果你使用了其他MySQL用戶端程式串連MySQL資料庫伺服器來建立暫存資料表,那麼只有在關閉用戶端程式時才會銷毀暫存資料表,當然你也可以手動銷毀。

執行個體

以下展示了使用MySQL 暫存資料表的簡單一實例,以下的SQL代碼可以適用於PHP指令碼的mysql_query()函數。

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)

當你使用 SHOW TABLES命令顯示資料表列表時,你將無法看到 SalesSummary表。

如果你退出當前MySQL會話,再使用 SELECT命令來讀取原先建立的暫存資料表資料,那你會探索資料庫中沒有該表的存在,因為在你退出時該暫存資料表已經被銷毀了。

刪除MySQL 暫存資料表

預設情況下,當你斷開與資料庫的串連後,暫存資料表就會自動被銷毀。當然你也可以在當前MySQL會話使用 DROP TABLE 命令來手動刪除暫存資料表。

以下是手動刪除暫存資料表的執行個體:

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

MySQL 暫存資料表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.