Oracle数据库truncate、delete、drop语句区别

truncate与delete是删除表内记录,不删除表空间。drop是删除表空间。

 

一般为delete from tablename where 条件;

不带where+条件为全部删除等同于truncate,但执行效率比truncate慢。

truncate默认所有的表内容都删除,无法回退,删除速度比delete快。

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

drop table默认将表删除到回收站内,恢复语句为:flashback table tablename to before drop;

 

彻底删除语句为:drop table tablename purge;

清空当前用户回收站语句为:purge recyclebin;

清除回收站内某表记录:purge table tablename;

删除表中的一列:alter table tablename drop column 列;

 

详细请参考http://blog.csdn.net/zzyoucan/article/details/11096503

 

如果要对大量表执行操作,同时放到一个SQL窗口执行会卡死的,要开一个command窗口执行。

command会一行一行执行的。

Oracle数据库truncate、delete、drop语句区别

转载请注明原作者,如果你觉得文章对你有帮助或启发,也可以来请我喝咖啡

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注