MySQL如何创建临时表 (mysql怎么创建临时表)
MySQL如何创建临时表
MySQL临时表是指在一个MySQL会话中可以访问的临时表。临时表的数据只在该MySQL会话期间存在,当MySQL会话结束后就会被自动删除,其它用户和会话无法访问临时表中的数据。MySQL提供了操作临时表的相关语法,下面我们就介绍如何创建MySQL临时表。
一、案例:
假设要创建一个临时表t_temp,包含字段name和age,数据类型分别为varchar(20)和int,则可以使用以下SQL语句来实现:
CREATE TEMPORARY TABLE t_temp( name VARCHAR(20),
age INT);
二、一次创建多个临时表
MySQL允许在一句SQL语句中一次性创建多个临时表,以下是一个简单的示例:
CREATE TEMPORARY TABLE t_temp1( name VARCHAR(20),
age INT) ,
t_temp2( id INT, name VARCHAR(10) );
三、创建临时表并插入数据
MySQL允许在创建临时表的同时直接插入数据,以下是一个简单的示例:
CREATE TEMPORARY TABLE t_temp( name VARCHAR(20),
age INT)
INSERT INTO t_temp( name, age )
VALUES( ‘zhangsan’, 18 ),
( ‘lisi’, 19 );
四、创建临时表的复杂语法
MySQL同样支持创建临时表的复杂语法,可以包含主键、唯一约束以及其它约束,以下是一个简单的示例:
CREATE TEMPORARY TABLE t_temp(
id INT PRIMARY KEY,
name VARCHAR(20) UNIQUE,
age INT CHECK( age > 0 )
);
五、把数据从临时表导回到正式表
如果在MySQL会话中创建了带有数据的临时表t_temp,则可以通过INSERT INTO SELECT语句把数据从临时表t_temp导回到正式表t_table,以下是一个简单的示例:
INSERT INTO t_table( name, age )
SELECT name, age
FROM t_temp;
综上所述,MySQL可以利用相关的SQL语句来创建各种不同形式的临时表,可以创建一个临时表,也可以一次性创建多个临时表,此外还可以在创建临时表的同时直接插入数据,并且MySQL支持创建临时表的复杂语法。最后还可以快速把临时表中的数据导回到正式表中。