`
honeybinshun
  • 浏览: 61907 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle中drop、delete及truncate区别

 
阅读更多
针对oracle中drop、delete及truncate三者的区别做如下说明:
1、delete及truncate都可以删除表中的数据,但是,和drop相比,前者只删除数据,并未改变表结构,而后者连表结构也进行了删除;
2、truncate比delete删除数据性能高很多,具体原因是:使用delete语句时,系统将一次一行地处理表中的记录,在从表中删除行之前,在事务处理日志中记录相关的删除操作和删除行中的列值,以便在删除失败时,可以使用事务处理日志来做恢复数据。使用truncate语句则一次性完成删除与表有关的所有数据页的操作,另外,truncate table语句并不更新事务处理日志,使用truncate table语句从表中删除数据后,将不能使用rollback命令取消行的删除操作。
分享到:
评论

相关推荐

    delete,truncate和drop的区别

    尽管`drop`、`truncate`和`delete`都是DDL或DML操作,但在Oracle中,仍有可能恢复已删除的数据或表: - **drop操作**:如果Oracle的回收站功能被启用,则可以通过回收站恢复已删除的表。需要注意的是,这取决于表...

    详解Truncate delete drop三者的区别

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

    oracle数据库删除数据Delete语句和Truncate语句的对比.docx

    Delete 语句和 Truncate 语句是 Oracle 数据库中两种常用的删除数据的方法,但是它们之间存在着明显的差异。 一、Delete 语句 Delete 语句是一种 DML(Data Manipulation Language)语句,用于删除表中的数据。 ...

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

    在Oracle 10g环境中,可以创建一个系统级别的触发器,用于阻止非`SYS`用户执行`DROP TABLE`或`TRUNCATE TABLE`命令。 #### 创建触发器脚本 ```sql CREATE OR REPLACE TRIGGER TRIGGER_UNDROPTABLE BEFORE DROP OR ...

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

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

    Oracle给用户授权truncatetable的实现方案

    这是因为`TRUNCATE`操作在Oracle中属于`DROP`语句的一部分。执行以下命令可为用户`DWETL`授予此权限: ```sql GRANT DROP ANY TABLE TO DWETL; ``` 但这种方法存在风险,因为`DROP ANY TABLE`允许用户删除任何表,...

    oracle数据库删除数据Delete语句和Truncate语句的使用比较

    在Oracle数据库中,删除表中数据有两种主要方式:Delete语句和Truncate语句。两者在功能上相似,但有着显著的区别,适用于不同的场景。 **Delete语句** Delete语句是一种灵活的数据删除方式,它可以有条件地删除...

    Oracle删除语句.txt

    根据提供的文件信息,本文将详细解释Oracle数据库中的删除操作,包括DELETE、DROP以及TRUNCATE三个主要命令。这些命令在数据库管理中极为重要,能够帮助我们有效地管理数据表中的记录或整个表结构。 ### Oracle删除...

    truncate 表恢复

    `TRUNCATE`命令在Oracle数据库中用于快速清空表中的所有数据。与`DELETE`命令不同的是,`TRUNCATE`不触发任何触发器也不记录回滚信息,因此执行速度更快。具体来说,`TRUNCATE`操作的原理在于它**并不会逐个清除用户...

    Oracle恢复误删除数据

    在 Oracle 中,delete 方法可以使用闪回方法恢复删除的数据。如果在删除数据后还没有进行大量的操作(只要保证被删除数据的块没有被覆写),就可以利用闪回方式直接找回删除的数据。 首先,需要确定删除数据的时间...

    Oracle数据库误删除数据的不同恢复方法整理

    - **原理**:当使用`DROP`命令删除表后,Oracle并没有立即清除表占用的空间,而是将其放入了一个特殊的区域——回收站中,直到这些空间被新的数据覆盖。 - **查询回收站**:可以通过查询`USER_TABLES`视图或`USER_...

    清除oracle分区表数据

    在Oracle数据库管理中,分区表是一种非常实用的功能,它能够帮助优化查询性能并简化大型表的管理。当涉及到批量删除或清除分区表中的数据时,就需要掌握一些特定的方法和技术。根据给定的信息“清除oracle分区表数据...

    delete from 表名与truncate table 表名区别

    在数据库管理中,`DELETE` 和 `TRUNCATE TABLE` 是两种常见的用于清空数据表的语句,但它们在具体的行为和效果上存在显著差异。以下是对这两个语句的详细解析: 1. **对自动编号列的影响**: - `DELETE` 语句会...

    oracle死锁表后处理

    级别6的锁有Alter table、Drop table、Drop Index、Truncate table、Lock Exclusive操作。 在oracle数据库中,可以使用SQL语句来查看当前数据库中的锁情况,例如: ``` col owner for a12 col object_name for a16...

    oracle命令大全及关于oracle 1000问 日志管理,表空间管理,表,索引等等等等

    另外,`TRUNCATE TABLE`可以快速清空表,但不记录删除操作,而`DELETE`则会记录在回滚段中。 索引是提升查询性能的关键工具。Oracle支持B树索引、位图索引、函数索引等多种类型。`CREATE INDEX`用于创建索引,`...

    Oracle Database 10g删除表的程序.rar_oracle 10g

    Oracle 10g还支持使用`TRUNCATE TABLE`语句,它用于删除表中的所有数据,但保留表结构。与`DELETE`不同,`TRUNCATE`不记录任何删除操作,因此速度更快,但同样不可逆。若需删除表而保留其结构,可以使用`TRUNCATE ...

    Oracle数据库误删除数据的不同恢复方法整理(超级实用)

    当表被DROP后,如果没有立即被其他数据覆盖,Oracle会将其放置在**回收站**(Recycle Bin)中,这使得用户可以在一定时间内恢复被删除的表。 #### 三、误删除数据的具体恢复方法 ##### 3.1 DELETE误删除的恢复方法 ...

Global site tag (gtag.js) - Google Analytics