DELETE − 刪除一個表中的行
DELETE FROM [ ONLY ] table [ WHERE condition ]
DELETE 從指明的表裏刪除滿足 WHERE 子句的行。 如果 WHERE 子句不存在, 效果是刪除表中所有行。結果是一個有效的空表。
Tip: 提示: TRUNCATE [truncate(7)] 是一個 PostgreSQL 擴展, 它提供一個更快的從表中刪除所有行的機制。
預設時 DELETE 將刪除所聲明的表和所有它的子表的記錄。 如果你希望只更新提到的表,你應該使用 ONLY 子句。
要對表進行刪除,你必須對它有 DELETE 權限,同樣也必須有 SELECT 的權限,這樣才能對符合 condition 的值進行讀取操作。
table |
一個現存表的名字(可以有模式修飾)。 |
condition
一個返回 boolean 類型值的值表達式,它判斷哪些行需要被刪除。
成功時,DELETE 命令返回形如
DELETE count
的標簽。 count 是被刪除的行數。 如果 count 為 0,沒有行匹配 condition (這個不認為是錯誤)。
刪除所有電影(films)但不刪除音樂(musicals):
DELETE FROM films WHERE kind <> ’Musical’;
清空表 films:
DELETE FROM films;
這條命令遵循 SQL 標準。
Postgresql 中文網站 何偉平 <laser AT pgsqldb DOT org>