`
hesihua
  • 浏览: 228826 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

oracle 中删除表 drop delete truncate 的区别

 
阅读更多

同点,使用drop delete truncate 都会删除表中的内容

drop table 表名

delete from 表名(后面不跟where语句,则也删除表中所有的数据)

truncate table 表名

区别

首先delete 属于DML,当不commit时时不生效的

而truncate 和 drop 则是直接生效的,不能回滚。

truncate 和 delete 不删除表的结构,只是针对表中的内容删除

drop语句将删除表的结构,被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.

truncate 会释放占用空间,而drop 和 delete不会。

速度:drop>truncate>dalete

综上所述,可以得到一个问题,使用drop 和 truncate相对delete是危险的,当使用drop 和 truncate 时不能回滚。delete相对安全,可以回滚,并且commit以后才会提交,并且不会删除表结构,也不会释放表所占用的空间。

 

 

 

上文来自: http://zhengweiit.blog.51cto.com/1109863/514860

分享到:
评论

相关推荐

    SQL语句中----删除表数据drop、truncate和delete的用法

    SQL语句中----删除表数据drop、truncate和delete的用法,对你爱不完

    delete,truncate和drop的区别

    delete,truncate和drop的区别

    详解Truncate delete drop三者的区别

    详细阐述了Oracle中三种删除的方式truncate,drop和delete三者的区别和联系.

    利用 Oracle 系统触发器防止误删除表操作

    利用oracle 系统触发器防止用户使用drop table 或truncate table 命令。

    Oracle数据库恢复神器Dbseeker 2.1

    因此,在由于各种原因引起的数据库不能打开或者数据库中的表被DROP,TRUNCATE,DELETE后,而且没有备份的情况下,使用Dbseeker能够及时找回数据表记录。最新版本请访问作者网站http://www.dbseeker.com

    Oracle数据恢复神器Dbseeker 2.5

    因此,在由于各种原因引起的数据库不能打开或者数据库中的表被DROP,TRUNCATE,DELETE后,而且没有备份的情况下,使用Dbseeker能够及时找回数据表记录。 最新版本请访问http://www.dbseeker.com 2015/12/05 Dbseeker...

    oracle SQL命令大全

    truncate table 表名 (删除表中记录时释放表空间) DML 语句: 表级共享锁: 对于操作一张表中的不同记录时,互不影响 行级排它锁:对于一行记录,oracle 会只允许只有一个用户对它在同一时间进行修改操作 wait() ...

    Oracle8i_9i数据库基础

    §3.3.3 删除表结构 101 §3.3.4 使用CHECK作限制约束 101 §3.3.5 使用UNRECOVERABLE创建表 102 §3.3.6 将表移动到新的数据段或新的表空间 102 §3.3.7 手工分配表的存储空间 104 §3.3.8 标记不使用的列和删除不...

    Oracle闪回详解--实验

    闪回各种误删除操作:truncate、drop、delete。

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     删除环境变量中的PATHT CLASSPATH中包含Oracle的值。  删除“开始”/“程序”中所有Oracle的组和图标。  删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ...

    最全的oracle常用命令大全.txt

    例:表删除将同时删除表的数据和表的定义 sql>drop table test c、表空间的创建、删除 六、ORACLE逻辑备份的SH文件 完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager ...

    Oracle数据库表的基本操作以及空值问题的解决

    区分delete,drop,truncate?(面试题)3.常见命令:4.Oracle数据库的数据类型:5.null:6.nvl(字段1,值1): 1.Oracle数据库语言分类: 1)DDL:数据定义语言,对数据结构起作用 create:创建某对象 alter:修改某对象 ...

    ORACLE重建索引总结

    3、以删除的叶节点数量:指得是数据行的delete操作从逻辑上删除的索引节点 的数量,要记住oracle在删除数据行后,将 “ 死 “ 节点保留在索引中,这样做可以加快sql删除操作的速度,因此oracle删除数据行后可以不必...

    SQL Server误区30日谈 第19天 Truncate表的操作不会被记录到日志

    Truncate Table语句会将整个表中的所有数据删除。但删除的方式并不是一行一行的删除,而是将组成表的数据页释放,将组成表的相关页释放的操作交给一个后台的线程进行队列处理的过程被称为deferred-drop。使用后台...

    北大青鸟Oracle教程集1

    数据库有下列逻辑组件: 数据库有下列逻辑组件: – – – – 表空间 段 扩展区 架构对象 表空间 2-1 数据库由称为表空间的逻辑单位组成 保留相关数据库对象的组 Oracle 数据库中的典型表空间是: 数据库中的典型表空间...

    北大青鸟Oracle教程集2

    数据库有下列逻辑组件: 数据库有下列逻辑组件: – – – – 表空间 段 扩展区 架构对象 表空间 2-1 数据库由称为表空间的逻辑单位组成 保留相关数据库对象的组 Oracle 数据库中的典型表空间是: 数据库中的典型表空间...

    oracle恢复测试.sql

    对Oracle各种恢复进行测试汇总,包括delete、update、drop、insert、truncate、init文件、临时文件、数据文件等。

    odu oracle数据库恢复工具

    oracle数据库恢复工具odu,内含使用说明。只适用于windows环境下使用。 场景1. 数据库不能启动,但是SYSTEM表空间中的数据字典是完整的。 场景2. 表被TRUNCATE。 场景3. 表被DROP。... 表中数据被DELETE。

    ORACLE锁深入分析

    1.什么是ORACLE锁 数据库是一个多用户使用的共享... 6 X(Exclusive) 排它锁 Alter table、Drop able、Drop index、Truncate table 、Lock exclusive Oracle举例 欢迎登陆交流 程序员百味: http://www.bywei.cn/blog

    orcale常用命令

    例:表删除将同时删除表的数据和表的定义 sql>drop table test c、表空间的创建、删除 六、ORACLE逻辑备份的SH文件 完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager ...

Global site tag (gtag.js) - Google Analytics