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会一行一行执行的。