DELETE(7)

NAME
DELETE - 刪除一個表中的行

SYNOPSIS

DELETE FROM [ ONLY ] table [ WHERE condition ]

DESCRIPTION 描述

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

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

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

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

PARAMETERS 參數

table
     一個現存表的名字（可以有模式修飾）。

condition
     一個返回 boolean 類型值的值表達式，它判斷哪些行需要被刪除。

OUTPUTS 輸出

 成功時，DELETE 命令返回形如

DELETE count

 的標簽。 count 是被刪除的行數。 如果 count 為 0，沒有行匹配 condition （這個不認為是錯誤）。

EXAMPLES 例子

 刪除所有電影（films）但不刪除音樂（musicals）：

DELETE FROM films WHERE kind <> 'Musical';

 清空表 films：

DELETE FROM films;

COMPATIBILITY 相容性

 這條命令遵循 SQL 標準。

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