SQL 临时表
在本教程中,您将学习如何使用 SQL 创建临时表。
创建临时表
临时表是仅对当前会话可见的表,并在创建它的会话关闭时自动删除。
由于临时表不会永久存储在数据库中,因此,在您只需要一个表在短时间内执行或测试某事,然后您希望它自动消失的情况下,它会很有用。
语法
CREATE TEMPORARY TABLE
语句用于创建临时表。
如果要从头开始创建临时表,可以在创建表时使用 TEMPORARY
关键字,即使用 CREATE TEMPORARY TABLE
而不是 CREATE TABLE
语句。 有关完整的语法和示例,请参见 create table 章节。
创建现有表的临时副本
临时表在您只想测试 SQL 查询而不影响数据库的情况下很有用。 让我们在 MySQL database 中创建一个现有表的临时副本。
在 MySQL 命令提示符下键入以下命令,然后按 enter:
上述语句从现有基表 persons 的结果集中动态创建一个名为 persons 的临时表。 另外,由于它是persons表的临时副本,因此您可以像INSERT
, UPDATE
or DELETE
一样进行任何操作,而不必担心误影响原始persons基表。
提示:临时表可以与永久基表同名。 如果您指定的临时表的名称与现有基表相同,则永久基表将被隐藏,直到临时表被删除。
注意:由于临时表是特定于会话的,因此两个不同的会话可以使用相同的临时表名称而不会相互冲突。
删除临时表
当创建临时表的数据库连接或会话关闭时,临时表会自动删除。 但是,如果想在不关闭当前会话的情况下删除它们,可以使用 DROP TEMPORARY TABLE
语句,如下所示:
上述语句将从数据库中删除临时表persons。 之后,原始的 persons 基表变得可见。