SQL 入门
SQL 简介
SQL 语法
SQL 通用数据类型
SQL 语句快速参考
SQL Select 语句
SQL SELECT DISTINCT 语句
SQL Where 子句
SQL AND & OR 运算符
SQL ORDER BY 关键字
SQL INSERT INTO 语句
SQL Update 语句
SQL Delete 语句
SQL SELECT TOP, LIMIT, ROWNUM
SQL LIKE 操作符
SQL 通配符
SQL IN 操作符
SQL BETWEEN 操作符
SQL Join连接
SQL INNER JOIN 关键字
SQL LEFT JOIN 关键字
SQL RIGHT JOIN 关键字
SQL FULL OUTER JOIN 关键字
SQL UNION 操作符
SQL SELECT INTO 语句
SQL INSERT INTO SELECT 语句
SQL 高级教程
SQL 撤销索引、表以及数据库
SQL CREATE DATABASE 语句
SQL CREATE TABLE 语句
SQL ALTER TABLE 语句
SQL AUTO INCREMENT 字段
SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句
SQL Server 和 MySQL 中的 Date 函数
SQL NULL 值 – IS NULL 和 IS NOT NULL
SQL 进阶
SQL 别名
SQL 约束
SQL NOT NULL 约束
SQL UNIQUE 约束
SQL PRIMARY KEY 约束
SQL FOREIGN KEY 约束
SQL DEFAULT 约束
SQL CHECK 约束
SQL 使用连接
SQL UNION 子句
SQL NULL 值
SQL 克隆数据表
SQL 索引
SQL 子查询
SQL ALTER TABLE 命令
SQL TRUNCATE TABLE 命令
SQL 处理重复数据
SQL 使用视图
SQL 注入
SQL HAVING 子句
SQL 事务
SQL 使用序列
SQL 通配符
SQL 临时表
SQL MS Access、MySQL 和 SQL Server 数据类型
SQL 函数
SQL 日期函数
SQL 函数
SQL AVG() 函数
SQL COUNT() 函数
SQL FIELD()函数
SQL FIRST() 函数
SQL LAST() 函数
SQL MAX() 函数
SQL MIN() 函数
SQL SUM() 函数
SQL GROUP BY 语句
SQL HAVING 子句
SQL UPPER(),LOWER()函数
SQL UPPER()函数
SQL LOWER()函数
SQL UCASE() 函数
SQL LCASE() 函数
SQL MID() 函数
SQL LEN() 函数
SQL ROUND() 函数
SQL NOW() 函数
SQL FORMAT() 函数
SQL SQRT() 函数
SQL RAND() 函数
SQL CONCAT() 函数
SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
SQL REPLACE()函数
SQL TRIM()函数
SQL 临时表 - SQL教程 - 光年文档管理系统(Light Year Doc)
网站首页
SQL 临时表
某些关系型数据库管理系统支持临时表。临时表是一项很棒的特性,能够让你像操作普通的 SQL 数据表一样,使用 SELECT、UPDATE 和 JOIN 等功能来存储或者操作中间结果。 临时表有时候对于保存临时数据非常有用。有关临时表你需要知道的最重要的一点是,它们会在当前的终端会话结束后被删除。 临时表自 MySQL 3.23 起受到支持。如果你的 MySQL 版本比 3.23 还老,那么你就不能使用临时表了,不过你可以使用堆表(heap table)。 如先前所言,临时表只在会话期间存在。如果你在 PHP 脚本中操作数据库,那么临时表将在脚本执行完毕时被自动销毁。如果你是通过 MySQL 的客户端程序连接到 MySQL 数据库服务器的,那么临时表将会存在到你关闭客户端或者手动将其删除。 ## 实例 下面的示例向你展示了如何使用临时表: ```sql 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 命令来达到目的。 下面是删除临时表的示例: ```sql 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 ```
上一篇:
SQL 通配符
下一篇:
SQL MS Access、MySQL 和 SQL Server 数据类型