临时表
临时表是会话级表,只在用户会话期间存在,常用于存储中间计算结果或临时数据。
临时表的特点:
- 生存周期:临时表只在当前会话中存在,连接断开后表会自动销毁。
- 对其它会话不可见:不同的会话可以使用相同的临时表名,彼此独立。
- 不占用实际存储:仅存储在内存中,性能较高。
以下是临时表的用法:
创建临时表
使用 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';
若重新创建已存在的临时表(如重建临时表的逻辑),可加 IF EXISTS
:
DROP TABLE IF EXISTS temp_table;