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