用法使用MySQL临时表的基本用法(mysql临时表)
MySQL临时表是优化SQL语句时非常有用的一种概念,因为它可以提高语句的性能和允许查询的灵活性。临时表仅在当前会话(连接)中可见,在会话结束后即被删除。本文将介绍MySQL如何使用临时表及相关用法。
MySQL临时表使用类似非临时表的SELECT…INTO语句在MySQL服务器上创建,可以用如下语句来创建一个临时表:
SELECT * INTO #table_name
FROM existing_table_name;
可以把上面的语句拆分为两个,首先建立一个空表:
CREATE TABLE #table_name;
然后再把内容插入到空表:
INSERT INTO #table_name
SELECT * FROM existing_table_name;
MySQL临时表还可以使用 CREATE TEMPORARY TABLE 语句创建:
CREATE TEMPORARY TABLE temp_table
(ID int,
Name VARCHAR(20),
Age int);
Standard SQL都は义务性定义命令加入#前缀后缀在临时表的名字,但是MySQL则比较友好可以不加,也可以直接用 DROP TABLE 语句删除一个临时表:
DROP TABLE #temp_table;
或者:
DROP TEMPORARY TABLE temp_table;
此外,MySQL临时表也允许按照会话到期自动销毁:
CREATE TEMPORARY TABLE temp_table
(ID int,
Name VARCHAR(20),
Age int)
ON COMMIT DROP;
这样,当当前会话中的所有SQL语句完成后,MySQL自动销毁这个临时表。
总之,MySQL临时表的用法有很多,可以使用常规的SQL语句来创建和操作临时表,也可以创建一个含义定义选项的临时表,有效地提升查询性能,我们也可以通过分析查询语句结构来更好地优化查询,引入临时表。