MySQL教程
  • [MySQL教程]MySQL 教程
  • [MySQL教程]MySQL 安装
  • [MySQL教程]MySQL 管理
  • [MySQL教程]MySQL PHP 语法
  • [MySQL教程]MySQL 连接
  • [MySQL教程]MySQL 创建数据库
  • [MySQL教程]MySQL 删除数据库
  • [MySQL教程]MySQL 选择数据库
  • [MySQL教程]MySQL 数据类型
  • [MySQL教程]MySQL 创建数据表
  • [MySQL教程]MySQL 删除数据表
  • [MySQL教程]MySQL 插入数据
  • [MySQL教程]MySQL 查询数据
  • [MySQL教程]MySQL WHERE 子句
  • [MySQL教程]MySQL UPDATE 查询
  • [MySQL教程]MySQL DELETE 语句
  • [MySQL教程]MySQL LIKE 子句
  • [MySQL教程]MySQL UNION 操作符
  • [MySQL教程]MySQL 排序
  • [MySQL教程]MySQL GROUP BY 语句
  • [MySQL教程]Mysql 连接的使用
  • [MySQL教程]MySQL NULL 值处理
  • [MySQL教程]MySQL 正则表达式
  • [MySQL教程]MySQL 事务
  • [MySQL教程]MySQL ALTER命令
  • [MySQL教程]MySQL 索引
  • [MySQL教程]MySQL 临时表
  • [MySQL教程]MySQL 复制表
  • [MySQL教程]MySQL 元数据
  • [MySQL教程]MySQL 序列使用
  • [MySQL教程]MySQL 处理重复数据
  • [MySQL教程]MySQL 及 SQL 注入
  • [MySQL教程]MySQL 导出数据
  • [MySQL教程]MySQL 导入数据
  • 阿里云服务器入口
    180天免费用腾讯云服务器马上领取
    您当前位置:狗鱼MySQL教程 >> 数据库 >> MySQL教程 >> MySQL 临时表
    MySQL 临时表
    更新日期: 2017年07月18日 来源: 本站原创 作者: 佚名 阅读:
    上一篇MySQL 索引 下一篇:MySQL 复制表

    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 'SSSOOB.SalesSummary' doesn't exist

    感觉本站内容不错,读后有收获?

    我要小额赞助,鼓励提供更好的内容教程

    上一篇MySQL 索引 下一篇:MySQL 复制表
    Copyright 2013-2017 Powered by 狗鱼MySQL教程,All Rights Reserved.
    广州相如计算机科技有限有限公司 版权所有 粤ICP备08130661号-4
    售前咨询:020-38667011 手机:13711588918