临时表
临时表是会话级表,只在用户会话期间存在,常用于存储中间计算结果或临时数据。
特点
临时表具有以下特点:
- 生存周期:临时表只在当前会话中存在,连接断开后表会自动销毁
 - 会话隔离:不同的会话可以使用相同的临时表名,彼此独立
 - 高性能:仅存储在内存中,不占用实际存储空间,性能较高
 
创建临时表
使用 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;