MySQL 如何在没有单独CREATE TABLE的情况下在SELECT语句中创建临时表

MySQL 如何在没有单独CREATE TABLE的情况下在SELECT语句中创建临时表

要在SELECT语句中创建一个临时表,我们使用TEMPORARY关键字。

这个临时表将为当前会话可见,每当会话关闭时,它就会自动销毁。两个会话可以使用相同的临时表。

创建一张表。

mysql> create table MyTableDemo
   -> (
   -> id int,
   -> Name varchar(100)
   -> );
Query OK, 0 rows affected (0.69 sec)

插入一些记录。

mysql> insert into MyTableDemo values(1,'John');
Query OK, 1 row affected (0.18 sec)

mysql>  insert into MyTableDemo values(2,'Carol');
Query OK, 1 row affected (0.13 sec)

mysql>  insert into MyTableDemo values(3,'Bob');
Query OK, 1 row affected (0.12 sec)

显示所有记录。

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);
Query OK, 3 rows affected (0.01 sec)
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)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程