《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 'RUNOOB.SalesSummary' doesn't exist
如您还有不明确的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!
《MySQL 临时表》是否对您有启发,欢迎查看更多与《MySQL 临时表》相关教程,学精学透。维易PHP学院为您提供精彩教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7140.html