刪除數據:
delete from student:刪除所有數據,表結構還在,寫日志,可以恢復,速度慢
drop table student:刪除表的結構和數據
truncate table student:刪除表中的所有記錄,表結構還在。不寫日志,無法恢復,但速度快
根據具體情況使用:千萬要注意下面最后一個,因為無法恢復!
delete可以通過日志恢復
drop可以通過閃回恢復
1:drop的恢復方法
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
A TABLE
B TABLE
6 rows selected
SQL> drop table A;
Table dropped
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
BIN$+zs69B0+R3m1DnI8M0whxw==$0 TABLE 說明還沒有真正刪除
B TABLE
6 rows selected
SQL> show recyclebin;
SQL> flashback table A to before drop;恢復語句
Done
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
A TABLE
B TABLE
6 rows selected
2:delete的恢復方法
SQL> select * from A;
NUM
---------------------------------------
1
3
SQL> savepoint a;
Savepoint created
SQL> delete from A;
2 rows deleted
SQL> select * from A;
NUM
---------------------------------------
SQL> rollback to a;
Rollback complete
SQL> select * from A;
NUM
---------------------------------------
1
3
SQL>