
- MySQLi 教程
- MySQLi - 首頁
- MySQLi - 簡介
- MySQLi - PHP 語法
- MySQLi - 連線
- MySQLi - 建立資料庫
- MySQLi - 刪除資料庫
- MySQLi - 選擇資料庫
- MySQLi - 建立表
- MySQLi - 刪除表
- MySQLi - 插入查詢
- MySQLi - 選擇查詢
- MySQLi - WHERE 子句
- MySQLi - 更新查詢
- MySQLi - 刪除查詢
- MySQLi - LIKE 子句
- MySQLi - 排序結果
- MySQLi - 使用 JOIN
- MySQLi - 處理 NULL 值
- 獲取和使用 MySQLi 元資料
- MySQL
- MySQL - 安裝
- MySQL - 管理
- MySQL - 資料型別
- MySQL - 正則表示式
- MySQL - 事務
- MySQL - ALTER 命令
- MySQL - 索引
- MySQL - 臨時表
- MySQL - 克隆表
- MySQL - 使用序列
- MySQL - 處理重複項
- MySQLi 有用資源
- MySQLi - 有用函式
- MySQLi - 快速指南
- MySQLi - 有用資源
- MySQLi - 討論
MySQLi - 臨時表
臨時表在某些情況下非常有用,可以用於儲存臨時資料。關於臨時表最重要的一點是,它們會在當前客戶端會話終止時被刪除。
如前所述,臨時表僅在會話有效期間存在。如果您在 PHP 指令碼中執行程式碼,則臨時表會在指令碼執行完畢後自動銷燬。如果您透過 MySQL 客戶端程式連線到 MySQL 資料庫伺服器,則臨時表將一直存在,直到您關閉客戶端或手動銷燬該表。
示例
這是一個顯示臨時表用法的示例。可以使用 `mysqli_query()` 函式在 PHP 指令碼中使用相同的程式碼。
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 命令時,您的臨時表不會列在列表中。現在,如果您退出 MySQL 會話,然後發出 SELECT 命令,您將發現數據庫中沒有可用資料。您的臨時表也將不存在。
刪除臨時表
預設情況下,當您的資料庫連線終止時,所有臨時表都會被 MySQL 刪除。如果您想在此期間刪除它們,可以使用 DROP TABLE 命令。
以下是刪除臨時表的示例:
mysql> DROP TABLE SalesSummary; mysql> SELECT * FROM SalesSummary; ERROR 1146: Table 'TUTORIALS.SalesSummary' doesn't exist
廣告