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 參數

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>

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