SQL 临时表

本章将学习如何使用SQL创建临时表。

创建临时表

临时表是仅对当前会话可见的表,并且在创建它的会话关闭时自动删除。

由于临时表不是永久存储在数据库中,当只需要一个用于短时测试的表时,可以用临时表。

语法

CREATE TEMPORARY TABLE语句用于创建临时表。

CREATE TEMPORARY TABLE table_name (column definitions);

除了加TEMPORARY关键字,其他与创建普通表的操作一样。

创建表的临时副本

当只想测试SQL查询而不想影响数据库时,临时表非常有用。让我们在MySQL数据库中创建一个现有表的临时副本。

在MySQL命令提示符下执行以下命令:

mysql> CREATE TEMPORARY TABLE persons SELECT * FROM persons;

上面的语句从源表persons的结果集中创建一个名为persons的临时表。由于它是persons表的临时副本,您可以执行任何操作,比如插入、更新或删除,而不必担心影响原表persons。

临时表可以与原表同名。如果临时表原表同名,则原表将被隐藏,直到临时表被删除为止。

由于临时表是绑定会话的,两个不同的会话可以使用相同的临时表名,不会有冲突。

删除临时表

当数据库连接/会话关闭时,会话中的临时表将自动删除。如果想手动删除临时表,可以使用DROP TEMPORARY TABLE语句,如下所示:

mysql> DROP TEMPORARY TABLE persons;

上述语句将删除临时表persons,删除后,原表person就变得可见了。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载