首页 > 代码库 > Oracle删除表的几种方法

Oracle删除表的几种方法

drop table books;的指令会将表放到回收站里,  

用   flashback table "BIN$1Oiy3qm/QJubov1BwBUOgw==$0" to before drop;  就能恢复。    

删除表:   drop table books purge;是绕过回收站,彻底删除    建议你先   purge recyclebin;   

清除当前用户的回收站,不会影响其他用户的回收站  或者   purge table 表名;  

清除回收站内指定的表

正文:  删除表(记录和结构)的语名delete   ————   truncate      ———— drop  DELETE (删除数据表里记录的语句)      

DELETE FROM表名 WHERE 条件;     

 注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.      

如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 

它可以释放占用的数据块表空间    TRUNCATE TABLE 表名;     此操作不可回退.

相同点      truncate和不带where子句的delete, 以及drop都会删除表内的数据     

注意:这里说的delete是指不带where子句的delete语句       

不同点:      1. truncate和 delete只删除数据不删除表的结构(定义)          

drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 

依赖于该表的存储过程/函数将保留,但是变为invalid状态.


Oracle删除表的几种方法