首页  >  文章  >  数据库  >  oracle中的删除语句有哪些

oracle中的删除语句有哪些

WBOY
WBOY原创
2022-05-31 10:52:5221993浏览

删除语句:1、“delete from 表名 where 条件”语句,利用delete删除表数据;2、“truncate table 表名”语句,利用truncate命令删除数据;3、“Drop Table 表名”,利用Drop删除表。

oracle中的删除语句有哪些

本教程操作环境:Windows10系统、Oracle 12c版、Dell G3电脑。

oracle中的删除语句有哪些

删除语句Drop、Delete、Truncate

1、对表数据的删除是利用delete命令进行的。

delete命令结构:

delete from 表名 where 条件

用于删除表中的行(注:可以删除某一行;也可以在不删除表的情况下(即意味着表的结构、属性、索引完整)删除所有行)

删除学生信息表(stuinfo)中学生“张三”的数据:

03.png

2、truncate命令也是数据删除命令

他是直接把Oracle表数据一次删除的命令,truncate命令是一个DDL命令,不同于delete是DML命令。

用于删除表内的数据(注:仅删除表内的数据,不删除表本身,相当于Delete语句不写Where子句一样)

truncate命令结构:

truncate table 表名;

删除学生信息备份表(stuinfo_2018):

04.png

05.png

3、Drop:用于删除表(注:将表的结构、属性、索引也会被删除。)

             语法:

Drop  Table 表名称

truncate和delete都能删除表中的数据,他们的区别:

1、TRUNCATE 是 DDL 命令,命令执行完就提交,删除的数据不能恢复; DELETE 命令是 DML 命令,命令执行完需提交后才能生效,删除后的数据可以通过日志文件恢复。

2、如果表中的数据量较大,TRUNCATE的速度比DELETE速度快很多。

3、truncate删除将重新设置表索引的初始大小,而delete不能。

4、delete能够触发表上相关的delete触发器,而truncate则不会触发。

5、delete删除的原理是一次一条从表中删除数据,并将删除操作当做事物记录在数据库的日志当中,以便进行数据回滚。而truncate是一次性进行数据页的删除,因此执行速度快,但是不能回滚。

速度上,一般来说drop>truncate >delete。

推荐教程:《Oracle视频教程

以上是oracle中的删除语句有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn