临时表

临时表是会话级表,只在用户会话期间存在,常用于存储中间计算结果或临时数据。

特点

临时表具有以下特点:

  • 生存周期:临时表只在当前会话中存在,连接断开后表会自动销毁
  • 会话隔离:不同的会话可以使用相同的临时表名,彼此独立
  • 高性能:仅存储在内存中,不占用实际存储空间,性能较高

创建临时表

使用 CREATE TEMP TABLECREATE 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;