MySQL 数据库中有时需要对多个表的数据进行合并和排序,这时候可以使用临时表的功能。临时表是只在当前会话中存在的表,用于存储临时数据。使用临时表可以大大简化 SQL 查询操作,提高查询效率。
创建临时表
创建临时表和普通的表类似,只是在表名前加上“#”或“global #” (全局临时表),如下所示:
CREATE TEMPORARY TABLE #temp_table (id INT, name VARCHAR(50));
或
CREATE TEMPORARY TABLE global #temp_table (id INT, name VARCHAR(50));
在临时表中插入数据
在创建完临时表后,可以通过 INSERT INTO 语句向其中插入数据:
INSERT INTO #temp_table (id, name) VALUES (1, 'Tom'), (2, 'Jerry');
使用临时表进行查询
使用临时表进行查询操作时,需要先将需要查询的数据插入到临时表中。接着,可以使用 SELECT 语句从临时表中获取数据:
INSERT INTO #temp_table (id, name) VALUES (1, 'Tom'), (2, 'Jerry');
SELECT * FROM #temp_table WHERE id > 1;
清除临时表
当不再需要使用临时表时,可以通过 DROP TABLE 语句将其删除。
DROP TABLE #temp_table;
使用临时表可以方便、快速地对多个数据表进行操作。但需要注意的是,临时表只在当前会话中存在,如果需要在多个会话中使用同一个临时表,需要使用全局临时表。