| PostgreSQL | ||
|---|---|---|
| 上一頁 | 下一頁 | |
DELETE ─ 從表中刪除行
DELETE FROM table [ WHERE condition ]
請參考 SELECT 語句獲取關於 WHERE 子句的更多資訊。
如果 count 為 0,沒有行被刪除。
DELETE 從指明的表裡刪除滿足 WHERE condition (條件)的行。
如果 condition (WHERE 子句)不存在,效果是刪除表中所有行。結果是一個有效的空表。
小技巧:TRUNCATE 是一個 Postgres 擴展,它提供一個更快的從表中刪除所有行的機制。
要對表進行修改,你必須有寫權限,同樣也必須有讀表的權限,這樣才能對符合 condition (條件)的值進行讀取操作。
刪除所有電影(films)但不刪除音樂(musicals):
DELETE FROM films WHERE kind <> 'Musical';
SELECT * FROM films;
code |title |did| date_prod|kind |len
-----+-------------------------+---+----------+----------+------
UA501|West Side Story |105|1961-01-03|Musical | 02:32
TC901|The King and I |109|1956-08-11|Musical | 02:13
WD101|Bed Knobs and Broomsticks|111| |Musical | 01:57
(3 rows)
清空表 films:
DELETE FROM films;
SELECT * FROM films;
code|title|did|date_prod|kind|len
----+-----+---+---------+----+---
(0 rows)
DELETE FROM table WHERE
CURRENT OF cursor
這裡 cursor 表示一個打開的游標。Postgres 裡交互式游標是唯讀的。
| 上一頁 | 首頁 | 下一頁 |
| DECLARE | 開頭 | DROP AGGREGATE |