当前位置:   article > 正文

delete用法解析_数据库delete用法

数据库delete用法

使用delete语句一次只能删除整行记录,不能删除某个字段。

(属于DML 语句会有提示是否删除)。
delete只会删除记录,不会删除表。
注:
如果要删除整张表,需要使用drop table命令。
如果要一次性清楚表中的数据,并且不需要撤销删除,可以使用truncate一次性对表数据进行清除。
*truncate 语句非常危险,属于DDL语句,一但执行不会提示,直接执行,且数据不能快闪恢复,应该说是没有办法恢复。最好不要用此语句删除表记录。
*

delete语法如下

delete [from] table [where condition];
table指定要删除的表名称,where中的condition表示被删除的行,由字段名、表达式、常数和比较操作符组成。
注意:如果在删除之后要撤销删除,可以显示的执行rollback语句撤销所作的更改。

先查询已建好的emp表。
在这里插入图片描述
删除名字为冬瓜的一条数据:
delete from emp where ename=‘冬瓜’;
在这里插入图片描述
如果想撤销删除,使用回滚方式回退表的删除
delete from emp where ename=‘冬瓜’;
rollback;
在这里插入图片描述
如果不指定where子句,将导致整张表记录被删除。删除的是记录,而不是表本身。
语句如下:delete from emp;

使用子查询删除记录

对于复杂的记录删除,可以使用子查询来删除基于另一个表中的行,比如要删除员工表中部门名称为销售部员工的记录,可以用如下删除:
delete from emp
where deptno = (select deptno from dept where dname=‘销售部’)

使用truncate清除表数据
除了使用delete删除表中的内容,还可以使用truncate语句,该语句会删除表中所有的行,并且释放该表所使用的存储空间。
truncate 属于DDL数据定义语言,与create table 等语句一样,它不具有撤销功能,一经调用,表中的数据便彻底被清除。使用时要谨慎。

语法如下;
truncate table table;
与delete语句相比,truncate 命令速度要快,原因如下;
truncate 语句不会激活表的删除触发器。
truncate属于DDL语句,不会产生撤销信息。
如果表时主外键关系的主表,则无法清除表的内容,必须在执行truncate语句之前禁用该约束。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号