PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

2.9. 数据删除 #

可以使用 DELETE 命令从表中移除数据行。假设你不再关注 Hayward 的天气记录,可以执行以下语句将其从表中删除:

DELETE FROM weather WHERE city = 'Hayward';

所有属于 Hayward 的天气数据都将被清空。

SELECT * FROM weather;

     city      | temp_lo | temp_hi | prcp |    date
---------------+---------+---------+------+------------
 San Francisco |      46 |      50 | 0.25 | 1994-11-27
 San Francisco |      41 |      55 |    0 | 1994-11-29
(2 rows)

需要特别警惕如下无条件的删除语句:

DELETE FROM tablename;

如果省略了 WHERE 限定条件,DELETE 将直接抹除指定表中的所有数据行,使其变为空表。在执行这一破坏性操作之前,数据库系统不会弹出任何确认提示!