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);QueryOK,0rows affected (0.00sec)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|+--------------+-------------+----------------+------------------+1row inset(0.00sec)

当你使用 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);QueryOK,0rows affected (0.00sec)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|+--------------+-------------+----------------+------------------+1row inset(0.00sec)mysql>DROP TABLE SalesSummary;mysql>SELECT *FROM SalesSummary;ERROR 1146:Table'TUTORIALS.SalesSummary'doesn't exist

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值