日期:2014-05-16  浏览次数:20540 次

Oracle drop、delete和truncate区别

oracle中可以使用dropdeletetruncate三个命令来删除数据库中的表,网上有许多文章和教程专门讲解了它们之间的异同,我说简单点如下:

?

1. deletetruncate都是删除表中的内容而不能删除表的结构,而drop则是删除表的结构和内容(表将不复存在)

2. delete可以删除整个表的数据也可以有选择性地删除某一条或多条数据,而truncate则是一次性删除整个表的数据;

3. 使用delete删除的表数据并没有真正被删掉,数据占用的表空间还存在,相当于Windows中将数据删除到回收站中,日后有需要还可以恢复;

4. 使用truncate删除的表数据会连同其占用的表空间一起直接被删掉,相当于Windows中使用del+shift键直接删除文件一样,无法恢复。

1 楼 mikixiyou 2012-04-17  
这样理解太浅了,truncate使用时是有误区的。
2 楼 hanjiangit 2012-05-03  
mikixiyou 写道
这样理解太浅了,truncate使用时是有误区的。

能说明一下吗