临时表
临时表是会话级表,只在用户会话期间存在,常用于存储中间计算结果或临时数据。
特点
临时表具有以下特点:
- 生存周期:临时表只在当前会话中存在,连接断开后表会自动销毁
- 会话隔离:不同的会话可以使用相同的临时表名,彼此独立
- 高性能:仅存储在内存中,不占用实际存储空间,性能较高
创建临时表
使用 CREATE TEMP TABLE
或 CREATE TEMPORARY TABLE
命令创建临时表:
CREATE TEMP TABLE temp_table (
id SERIAL PRIMARY KEY,
name TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
使用临时表
插入数据
可以像普通表一样向临时表插入数据:
INSERT INTO temp_table (name) VALUES ('Alice'), ('Bob');
查询数据
查询临时表中的数据:
SELECT * FROM temp_table;
更新数据
更新临时表中的数据:
UPDATE temp_table SET name = 'Charlie' WHERE name = 'Alice';
删除数据
从临时表中删除数据:
DELETE FROM temp_table WHERE name = 'Bob';
删除临时表
若需要重新创建已存在的临时表(如重建临时表的逻辑),可使用 DROP TABLE IF EXISTS
:
DROP TABLE IF EXISTS temp_table;