MySQL 去重
MySQL 视图 

MySQL 临时表

在 MySQL 中,临时表(Temporary Table)是一种临时存储数据的方式,它存在于当前的数据库会话(session)中,并且在会话结束或显式删除时会被自动删除。MySQL 提供了两种类型的临时表:局部临时表和全局临时表。

创建临时表

局部临时表在MySQL中称为普通的临时表(Temporary Table)。它们只能在创建它们的会话中可见,并且在会话结束时会自动删除。你可以使用以下语法创建局部临时表:

CREATE TEMPORARY TABLE temp_table_name (
    column1 datatype1,
    column2 datatype2,
    ...
);

例如:

CREATE TEMPORARY TABLE temp_users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    user_name VARCHAR(50) DEFAULT NULL,
    age INT
);

在这个例子中,temp_users 是一个局部临时表,它只在当前会话中存在。


使用临时表

INSERT INTO temp_users (user_id, user_name, age) VALUES (1, 'Jerry', 22);


使用临时表的注意事项

  • 可见性:局部临时表只对创建它的会话可见,全局临时表对所有会话可见。

  • 生命周期:局部临时表在会话结束时自动删除,全局临时表在创建它的会话结束时删除。

  • 权限:创建临时表需要相应的权限,通常是 CREATE TEMPORARY TABLES 权限。

  • 表名:临时表的表名可以与普通表一样,但在使用时要注意不要与已有的表名冲突。


使用临时表可以在复杂的查询中暂存中间结果,帮助优化查询性能或组织数据。记得在不再需要时手动删除临时表,以释放资源并保持数据库的整洁。