The DELETE command is used to remove the Tables data either selective or all and put the data in an rollback segment as well where from a read consistent view or a flashback view can be seen even after commit and one can rollback
the tables data after delete as well. After performing a DELETE operation you need to COMMIT or ROLLBACK the transaction to make the change permanent or to undo it.one more thing delete doesn' resets the HWM and space occupied with insert can't be reclaim
by delete.when you deletes table data indexes are not dropped.Its a DML statement。We can use undo space。
hr@ORCL> select * from t;
ID TEST
---------- ----------
1 g
3 d
5 t
hr@ORCL> commit;
Commit complete.
hr@ORCL> delete from t where id=5;
1 row deleted.
hr@ORCL> select * from t;
ID TEST
---------- ----------
1 g
3 d
hr@ORCL> rollback;
Rollback complete.
hr@ORCL> select * from t;
ID TEST
---------- ----------
1 g
3 d
5 t
Truncate command removes all the data from table and drops all integrity constraints it's an DDL Statement and resets the HWM but you can't rollback a tables data after truncate, As such, TRUCATE is faster and doesn't use as much undo space as a DELETE.We
can not use undo space and one more thing truncate doesn' remove selective rows it can only removes the full tables data.truncate leaves the database structure ad is a good tool to reset HWM.but a dangerous tool for database security.
hr@ORCL> select * from t;
ID TEST
---------- ----------
1 g
3 d
5 t
hr@ORCL> truncate table t;
Table truncated.
hr@ORCL> select * from t;
no rows selected
hr@ORCL> rollback;
Rollback complete.
hr@ORCL> select * from t;
no rows selected
The drop command means delete the table from the database. The drop command is a data definition language (DDL) command and this is a table oriented command. We can delete all rows and also the table definition, indexes, privileges,triggers and all storage
parameters. The rollback is not possible. We can not use undo space。
hr@ORCL> drop table t;
Table dropped.
hr@ORCL> select * from t;
select * from t
*
ERROR at line 1:
ORA-00942: table or view does not exist
hr@ORCL> rollback;
Rollback complete.
hr@ORCL> select * from t;
select * from t
*
ERROR at line 1:
ORA-00942: table or view does not exist
In sum,DROP and TRUNCATE are DDL commands, whereas DELETE is a DML command. Therefore DELETE operations can be rolled back (undone), while DROP and TRUNCATE operations cannot be rolled back.From Oracle 10g a table can be "undropped". Example:
hr@ORCL> flashback table t to before drop;
Flashback complete.
分享到:
相关推荐
### truncate, delete 以及 drop 区别汇总 #### 一、概述 在数据库管理中,经常需要对数据表进行各种操作,比如删除表中的数据、删除整个表等。`truncate`, `delete` 和 `drop` 是三种常见的 SQL 命令,它们在功能...
### SQL之TRUNCATE、DELETE与DROP的区别 #### 概述 在SQL中,`TRUNCATE`、`DELETE`和`DROP`都是用于管理数据库表的重要命令,但它们之间存在显著的区别。本文将深入探讨这三种命令的功能、用法及其应用场景。 ####...
详细阐述了Oracle中三种删除的方式truncate,drop和delete三者的区别和联系.
在SQL语言中,`TRUNCATE`、`DELETE` 和 `DROP` 是三个非常重要的数据操作语句,它们各自有着不同的用途和特性。理解这些差异对于数据库管理至关重要,特别是对于数据安全性和性能优化方面。 首先,`TRUNCATE` 语句...
### 数据库中truncate、delete与drop语句的深入解析 #### 一、基本概念与应用场景 在数据库管理中,`truncate`、`delete`与`drop`是三种常见的SQL语句,它们各自拥有不同的功能与用途,对于初学者来说,区分这三种...
### Truncate, Delete, Drop 的异同点 在数据库管理中,`TRUNCATE`, `DELETE`, 和 `DROP` 是三种常见的数据操作语言(DML)与数据定义语言(DDL)。这三种命令都有助于管理和调整数据库表结构及其中的数据,但它们...
最后,如果你想完全删除表及其定义,应当使用 DROP TABLE 语句,而不是 TRUNCATE 或 DELETE,因为后者仅删除表中的数据,保留表结构。 综上所述,TRUNCATE TABLE 和 DELETE 在性能、资源消耗和行为特性上都有明显的...
"SQL中truncate和delete的区别" SQL中truncate和delete是两种不同的数据删除方式,它们之间存在许多关键的区别。本文将详细阐述truncate和delete的不同之处,以便读者更好地理解和选择这两种删除方式。 -delete的...
`DROP`、`TRUNCATE`和`DELETE`是SQL中用于删除数据的三个关键命令,它们各自有不同的特性和应用场景。以下是它们的详细对比和解释: 1. **DELETE语句**: DELETE是一种数据操纵语言(DML),这意味着它涉及到对...
您可能感兴趣的文章:数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(实例说明)drop,truncate与delete的区别详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始浅析drop user与delete from ...
### delete,truncate和drop的区别详解 #### 一、概述 在数据库管理中,经常会遇到需要删除数据或表的情况。为了确保数据的准确性和安全性,理解`delete`、`truncate`和`drop`这三个命令的区别至关重要。本文将详细...
本文主要讲mysql中三种删除表的操作,delete语句、truncate语句以及drop语句的区别: 简介 delete 1、删除整张表的数据: delete from table_name; 2、删除部分数据,添加where子句: delete from table_name ...
前言 上周同事小姐姐问我:“哈哥你看,我发现...咱们常用的三种删除方式:通过 delete、truncate、drop 关键字进行删除;这三种都可以用来删除数据,但场景不同。 一、从执行速度上来说 drop > truncate >> DELETE 二
注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被...
SQL语句中----删除表数据drop、truncate和delete的用法,对你爱不完
drop、delete、truncate都表示删除,但是三者有一些差别: Delete用来删除表的全部或者一部分数据行,执行delete之后,用户需要提交(commmit)或者回滚(rollback)来执行删除或者撤销删除。会触发这个表上所有的...