在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ SQL 臨時表
SQL AND 和 OR 連接運算符
SQL 刪除數(shù)據(jù)庫
SQL 使用序列
SQL CONCAT 函數(shù)
SQL 使用視圖
SQL SELECT 語句
SQL 別名
SQL MAX 函數(shù)
SQL 創(chuàng)建表
SQL NULL 值
SQL 數(shù)據(jù)類型
SQL RAND 函數(shù)
SQL 臨時表
SQL INSERT 語句
SQL ALTER TABLE 命令
SQL 關系型數(shù)據(jù)庫管理系統(tǒng)
SQL SUM 函數(shù)
SQL 子查詢
SQL UPDATE 語句
SQL 表達式
SQL 操作符
SQL ORDER BY 子句
SQL WHERE 子句
SQL 對結果進行排序
SQL 注入
SQL AVG 函數(shù)
SQL 選擇數(shù)據(jù)庫,USE 語句
SQL 克隆數(shù)據(jù)表
SQL COUNT 函數(shù)
SQL 語法
SQL DELETE 語句
SQL 約束
SQL 刪除表
SQL TOP、LIMIT 和 ROWNUM 子句
SQL 日期函數(shù)
SQL TRUNCATE TABLE 命令
SQL DISTINCT 關鍵字
SQL 處理重復數(shù)據(jù)
SQL 使用連接
SQL 索引
SQL 事務
SQL GROUP BY 子句
SQL HAVING 子句
SQL MIN 函數(shù)
SQL 概覽
SQL SQRT 函數(shù)
SQL LIKE 子句
SQL 通配符
SQL UNION 子句
SQL 數(shù)據(jù)庫
SQL 創(chuàng)建數(shù)據(jù)庫

SQL 臨時表

某些關系型數(shù)據(jù)庫管理系統(tǒng)支持臨時表。臨時表是一項很棒的特性,能夠讓你像操作普通的 SQL 數(shù)據(jù)表一樣,使用 SELECT、UPDATE 和 JOIN 等功能來存儲或者操作中間結果。

臨時表有時候?qū)τ诒4媾R時數(shù)據(jù)非常有用。有關臨時表你需要知道的最重要的一點是,它們會在當前的終端會話結束后被刪除。

臨時表自 MySQL 3.23 起受到支持。如果你的 MySQL 版本比 3.23 還老,那么你就不能使用臨時表了,不過你可以使用堆表(heap table)。

如先前所言,臨時表只在會話期間存在。如果你在 PHP 腳本中操作數(shù)據(jù)庫,那么臨時表將在腳本執(zhí)行完畢時被自動銷毀。如果你是通過 MySQL 的客戶端程序連接到 MySQL 數(shù)據(jù)庫服務器的,那么臨時表將會存在到你關閉客戶端或者手動將其刪除。

示例:

下面的示例向你展示了如何使用臨時表:

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 命令的時候,臨時表是不會出現(xiàn)在結果列表當中的。現(xiàn)在,如果你退出 MySQL 會話,然后再執(zhí)行 SELECT 命令的話,你將不能從數(shù)據(jù)庫中取回任何數(shù)據(jù),你的臨時表也已經(jīng)不復存在了。

刪除臨時表:

默認情況下,所有的臨時表都由 MySQL 在數(shù)據(jù)庫連接關閉時刪除。不過,有時候你還是會想要在會話期間將其刪除,此時你需要使用 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