Scroll to navigation

DELETE(7) SQL Commands 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 引數


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

一個返回 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>

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

2003-11-02 SQL - Language Statements