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语句区别

 
posted @   zerlong  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示