DELETE - 删除一个表中的行

Posted fanweisheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

以上是关于DELETE - 删除一个表中的行的主要内容,如果未能解决你的问题,请参考以下文章

MySQL ------ 删除数据(DELETE) (二十二)

SQL DELETE 语句:删除表中的记录语法及案例剖析

SQL之delete

SQL DELETE 语句详解

SQL 删除

SQL的delete语句