oracle删除数据的命令是什么

oracle删除数据的命令:1、delete命令,该命令用于删除表中的数据,语法为“delete from 表名 where 条件”;2、truncate命令,该命令也可用于删除数据,能够直接将表中的数据一次删除,语法为“truncate table 表名”。

oracle删除数据的命令是什么

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

oracle删除数据的命令是什么

Oracle删除(delete)

delete命令

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

delete命令结构:

delete from 表名 where 条件

命令解析:

1、当delete from不加where条件时,表示是把表中的数据全部删除。

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

delete  from stuinfo t where t.stuname='张三';

结果如下:

24.png

truncate命令

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

truncate命令结构:

truncate table 表名;

案例2、删除学生信息备份表(stuinfo_2018):

truncate table stuinfo_2018;

结果如下:

23.png

Oracle删除(delete)

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

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

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

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

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

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

总结:truncate命令是属于DDL命令,一次性删除表中所有数据,并且数据不能恢复,在实际开发过程当中truncate命令慎用。

推荐教程:《Oracle视频教程》

以上就是oracle删除数据的命令是什么的详细内容,更多请关注其它相关文章!