DELETE(7) SQL Commands DELETE(7)

DELETE - 刪除一個表中的行

DELETE FROM [ ONLY ] table [ WHERE condition ]

DELETE 從指明的表裡刪除滿足 WHERE 子句的行。 如果 WHERE 子句不存在, 效果是刪除表中所有行。結果是一個有效的空表。

Tip: 提示: TRUNCATE [truncate(7)] 是一個 PostgreSQL 擴充套件, 它提供一個更快的從表中刪除所有行的機制。


預設時 DELETE 將刪除所宣告的表和所有它的子表的記錄。 如果你希望只更新提到的表,你應該使用 ONLY 子句。


要對錶進行刪除,你必須對它有 DELETE 許可權,同樣也必須有 SELECT 的許可權,這樣才能對符合 condition 的值進行讀取操作。


一個現存表的名字(可以有模式修飾)。

一個返回 boolean 型別值的值表示式,它判斷哪些行需要被刪除。


成功時,DELETE 命令返回形如

DELETE count
的標籤。 count 是被刪除的行數。 如果 count 為 0,沒有行匹配 condition (這個不認為是錯誤)。


刪除所有電影(films)但不刪除音樂(musicals):

DELETE FROM films WHERE kind <> 'Musical';


清空表 films:

DELETE FROM films;


這條命令遵循 SQL 標準。

譯者

Postgresql 中文網站 何偉平 <laser@pgsqldb.org>

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

2003-11-02 SQL - Language Statements