码迷,mamicode.com
首页 > 数据库 > 详细

雷林鹏分享:MySQL 临时表

时间:2019-05-29 14:33:03      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:创建   error   summary   create   sql数据库   ror   删除mysql   ima   into   

  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 ‘TUTORIALS.SalesSummary‘ doesn‘t exist

  本文转载自:w3cschool(编辑:雷林鹏 来源:网络 侵删)

雷林鹏分享:MySQL 临时表

标签:创建   error   summary   create   sql数据库   ror   删除mysql   ima   into   

原文地址:https://www.cnblogs.com/linpeng1/p/10943322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!