您现在的位置是:群英 > 数据库 > 关系型数据库
oracle删除数据的方法和命令是什么呢?
Admin发表于 2022-08-03 17:35:512262 次浏览
相信很多人对“oracle删除数据的方法和命令是什么呢?”都不太了解,下面群英小编为你详细解释一下这个问题,希望对你有一定的帮助

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

本教程操作环境: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='张三';

结果如下:

truncate命令

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

truncate命令结构:

truncate table 表名;

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

truncate table stuinfo_2018;

结果如下:

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删除数据的方法和命令是什么呢?内容,欢迎关注群英网络资讯频道,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: Oracle
相关信息推荐
2022-07-08 17:46:29 
摘要:这篇文章主要介绍了Oracle 实现将查询结果保存到文本txt中的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
2022-08-03 17:54:18 
摘要:本篇文章给大家带来了关于Oracle的相关知识,其中主要整理了体系结构的相关问题,Oracle的体系结构大体上分为两部分:Instance(实例)和Database(数据库),下面一起来看一下,希望对大家有帮助。
2022-08-12 17:58:14 
摘要:本篇文章我们来看一下mysql中的blob和text数据类型,blob是一个可以存储二进制文件的容器,text类型同char、varchar 类似,都可用于存储字符串,下面我们就一起来看一下这两个数据类型的相关知识,希望对大家有帮助。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部