MySQL中的临时表是一种特殊类型的表,它仅在当前数据库会话中存在,并在会话结束时自动被删除。临时表的作用是存储临时数据,通常用于复杂的查询、数据处理或临时存储计算结果。
临时表分为两种类型:
- 局部临时表(Local Temporary Table):只能在创建临时表的会话中使用,其他会话无法访问。表名以单个井号(#)开头。
- 全局临时表(Global Temporary Table):可在任何会话中使用,其他会话也可以访问。表名以双井号(##)开头。
示例代码如下:
-- 创建局部临时表
CREATE TEMPORARY TABLE #temp (
id INT,
name VARCHAR(50)
);
-- 创建全局临时表
CREATE TEMPORARY TABLE ##temp (
id INT,
name VARCHAR(50)
);
临时表的删除很简单,只需要对临时表使用DROP TABLE
语句即可。示例代码如下:
-- 删除局部临时表
DROP TABLE #temp;
-- 删除全局临时表
DROP TABLE ##temp;
需要注意的是,临时表在会话结束时会自动被删除,但如果需要提前删除临时表,也可以使用DROP TABLE
语句进行手动删除。