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;

原文地址:https://www.cnblogs.com/fanweisheng/p/11080758.html

时间: 2024-10-07 19:03:11

DELETE - 删除一个表中的行的相关文章

mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)

转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的系统默认数据,通过项目组同事仔细研究,我们得到一致的答案为:在表上新增一个触发器,当删除数据ID为 1 2 3 4 5时候,直接弹出相应的错误,采用这种模式,可以限制所有端口的异常操作(程序 查询分析器),具体实现方式,如下文所示: create trigger trTriggerA on A fo

oracle删除一个表中的重复数据,且只保留一条

例子1:查找一个表中的重复数据,重复记录是根据单个字段(Id)来判断,表名为STUDENT SELECT ID , COUNT(1) FROM STUDENT T GROUP BY T.ID HAVING COUNT(ID) > 1 例子2:删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录,表名为STUDENT DELETE FROM STUDENT WHERE ID IN (SELECT ID FROM STUDENT T GROUP BY T.ID H

delete表1条件是另一个表中的数据,多表连接删除(转)

DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释:1. delete from t1 where 条件2.delete t1 from t1 where 条件3. delete t1 from t1,t2 where 条件4.delete t1,t2 from t1,t2 where 条件前 3者是可行的,第4者不可行.也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除关系,则可以实现删除一个表的数据时,同时删除另

SQL向一个表中批量插入&amp;&amp;删除大量数据

插入: 1. 数据从另一个表中获取 (1)两表结构不一样insert into tb1 需要的列名 select 按照前面写上需要的列名 from tb2(2)两表结构一样insert into tb1 * select * from tb2 2. 数据直接输入 (1) INSERT INTO MyTable(ID,NAME) VALUES(1,'123');INSERT INTO MyTable(ID,NAME) VALUES(2,'456');INSERT INTO MyTable(ID,N

MYSQL中delete删除多表数据与删除关联数据

在mysql中删除数据方法有很多种,最常用的是使用delete来删除记录,下面我来介绍delete删除单条记 录与删除多表关联数据的一些简单实例. 1.delete from t1 where 条件 2.delete t1 from t1 where 条件 3.delete t1 from t1,t2 where 条件 4.delete t1,t2 from t1,t2 where 条件 前3者是可行的,第4者不可行. 也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,

MYSQL中delete删除多表数据

MYSQL中delete删除多表数据DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释:1. delete from t1 where 条件2.delete t1 from t1 where 条件3. delete t1 from t1,t2 where 条件4.delete t1,t2 from t1,t2 where 条件前 3者是可行的,第4者不可行.也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除 关系,则

4.04 从一个表向另外的表中复制行

问题:要使用查询从一个表中向另外的表中复制行.该查询可能非常复杂,也可能非常简单.但是最终是需要将该查询的结果插入到其他的表中.(同样的列名称以及数据类型) 解决方案: 所使用的方法就是在insert语句后面紧跟着一个用来产生所要插入的行的查询:create table dept_east(deptno int(11),dname varchar(14),loc varchar(13)); insert into dept_east (deptno, dname, loc)select dept

删除数据表中除id外其他字段相同的冗余信息

删除一个信息表中除id外其他字段都相同的冗余信息,如下 id name addr 1 a b 2 a b 3 b c 删除这个表中的冗余信息 即应该是 id name addr 1 a b 3 b c 设table为t Sql:delete from tableName where id not in (select min(id) from tableName group by name, addr…)

sqlite expert导入excel表格 (包括使用问题、以及把 一个表的数据插入到另一个表中)

一.sqlite导入excel 1.打开要导入的excel --- 另存为(2007版点击左上角OFFICE图标即可找到) --- 保存类型:CSV类型 (提示什么不兼容什么的,一律点确定.) 2.打开sqlite expert ,选择建好的数据库文件(或者是导入的已存在的db文件,或者是自己新建一个.db数据库文件). 右击文件名---选择最后一个import text file(CSV,TSV) 3.(如果没有建过和这个excel名相同的表)右边Destination选择第一项new tab