要在SELECT语句中创建临时表,我们使用TEMPORARY关键字。
该临时表对于当前会话是可见的,并且每当会话关闭时,该表都会被自动销毁。两个会话可以使用同一个临时表。
创建一个表。
mysql> create table MyTableDemo -> ( -> id int, -> Name varchar(100) -> );
插入一些记录。
mysql> insert into MyTableDemo values(1,'John'); mysql> insert into MyTableDemo values(2,'Carol'); mysql> insert into MyTableDemo values(3,'Bob');
显示所有记录。
mysql> select *from MyTemporaryTableDemo;
这是输出。
+------+-------+ | id | Name | +------+-------+ | 1 | John | | 2 | Carol | | 3 | Bob | +------+-------+ 3 rows in set (0.00 sec)
创建临时表的语法。
CREATE TEMPORARY TABLE IF NOT EXISTS yourTemporaryTableName AS (SELECT * FROM yourTableName);
现在让我们在以下查询中实现上述语法-
mysql> CREATE TEMPORARY TABLE IF NOT EXISTS MyTemporaryTableDemo AS (SELECT * FROM MyTableDemo); Records: 3 Duplicates: 0 Warnings: 0
检查是否所有记录均已成功复制。
mysql> select *from MyTemporaryTableDemo;
这是输出。
+------+-------+ | id | Name | +------+-------+ | 1 | John | | 2 | Carol | | 3 | Bob | +------+-------+ 3 rows in set (0.00 sec)