drop 删除 :(1)、删除表中的数据,同时表结构也被删除
(2)、释放表空间
drop table 表名 ;
delete 删除:(1)、只删除表中的数据,不删除表结构(系统删除的过程是一行一行的删除,效率比 truncate 低)
(2)、不释放表空间
(3)、rollback命令可撤销
delete from 表名 where 条件 ;
truncate 删除:(1)、只删除表中的数据,不删除表结构(系统一次性删除表中的所有数据,效率比较高)
(2)、释放表空间
(3)、rollback命令不可撤销
truncate table 表名 ;
删除表中的数据:
select t.rowid, t.* from 表名 t ;
select * from 表名 for update ;
执行完上述语句,表的锁标志为打开的,点击➖
最后点击绿色的对号,提交
1、Oracle删除表,是把表放进回收站
drop table 表名;(删除普通表)
drop table 表名 cascade constraints; (删除带有约束的表)
//查看回收站删除的对象
select * from recyclebin;
2、清空回收站的表
purge recyclebin;
//一次性彻底删除表(不会把该表放进回收站)
drop table 表名 purge;
3、从回收站中还原被删除的表
flashback table 表名 to before drop
//还原并重命名该表
flashback table 表名 to before drop rename to 重命名后
//关于回收站
在oracle中,删除表时没有真正删除表而是把表重命名放进了回收站。可使用purge 命令来清空回收站,将会释放表占用的表空间,返回给表空间成为自由空间;
一旦表空间吃紧,oracle 会自动清空回收站中的对象,在oracle清空回收站前可以找回删除的对象;
参考:(1)、https://blog.csdn.net/huangbaokang/article/details/90665653
(2)、https://www.cr173.com/html/40708_1.html