MySQL 临时表教程在咱们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。

临时表在MySQL 3.23版本中添加,如果汝的MySQL版本低于 3.23版本就无法使用MySQL的临时表。不过现在一般很少有再使用这么低版本的MySQLdatabase服务了。

MySQL临时表只在当前连接可见,如果汝使用PHP脚本来创建MySQL临时表,那每当PHP脚本执行完成后,该临时表也会自动销毁。

如果汝使用了其他MySQL客户端程序连接MySQLdatabaseserver 来创建临时表,那么只有在关闭客户端程序时才会销毁临时表,当然汝也可以手动销毁。

实例

以下展示了使用 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命令来读取原先创建的临时表数据,那汝会发现database中没有该表的存在,因为在汝退出时该临时表已经被销毁了。


删除 MySQL 临时表教程

默认情况下,当汝断开与database的连接后,临时表就会自动被销毁。当然汝也可以在当前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 'liulianjiangcsdn.SalesSummary' doesn't exist

本专栏所有文章

第1章 MySQL 教程

第2章 MySQL 安装教程

第3章 MySQL 管理教程


第4章 MySQL PHP 语法教程


第5章 MySQL 连接教程


第6章 MySQL 创建数据库教程

第7章 MySQL 删除数据库教程

第8章 MySQL 选择数据库教程

第9章 MySQL 数据类型教程

第10章 MySQL 创建数据表教程

第11章 MySQL 删除数据表教程

第12章 MySQL 插入数据教程

第13章 MySQL 查询数据教程

第14章 MySQL WHERE 子句教程

第15章 MySQL UPDATE 更新教程

第16章 MySQL DELETE 语句教程

第17章 MySQL LIKE 子句教程

第18章 MySQL UNION教程

第19章 MySQL 排序教程

第20章 MySQL 分组教程

第21章 MySQL 连接的使用教程

第22章 MySQL NULL 值处理教程

第23章 MySQL 正则表达式教程

第24章 MySQL 事务教程

第25章 MySQL ALTER命令教程

第26章 MySQL 索引教程

第27章 MySQL 临时表教程

第28章 MySQL 复制表教程

第29章 MySQL 元数据教程

第30章 MySQL 序列使用教程

第31章 MySQL 处理重复数据教程

第32章 MySQL 及 SQL 注入教程

第33章 MySQL 导出数据教程

第34章 MySQL 导入数据教程

第35章 MySQL 函数教程

第36章 MySQL 运算符教程

寄语

  • 人生就是一场旅行,对旅者而言,能欣赏风和日丽的美景,也要能接受风雨交加的洗礼。无论好与不好,幸与不幸,都是你人生中的阅历,因为年轻,所以还有希望,还有从困境中走出了的勇气。不管是踽踽独行,还是牵手相伴,都要从容、自信、勇敢地快乐走下去。
  • 无产阶级是大公无私的,敢于面对客观的真理,所以我们研究历史能够作到高度的科学性。
  • 谁都有可能把好事变成坏事,把坏事变成好事,因此没有必要把自己做错的事当成包袱,对自己的错误,既要重视,更要有充分的信心轻装前进,痛定思痛后,引以为戒,这才是聪明的选择。
  • 多做善事,才能积善成德;多动善念,才能正念成事。
  • 见好就上需胆识,担心过多勇气失;等到机会成熟时,人人都做你难做。