转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别
生活随笔
收集整理的這篇文章主要介紹了
转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
相同點,使用drop delete truncate 都會刪除表中的內容
drop table 表名
delete from 表名(后面不跟where語句,則也刪除表中所有的數據)
truncate table 表名
區別
首先delete 屬于DML,當不commit時時不生效的
而truncate 和 drop 則是直接生效的,不能回滾。
truncate 和 delete 不刪除表的結構,只是針對表中的內容刪除
drop語句將刪除表的結構,被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴于該表的存儲過程/函數將保留,但是變為invalid狀態.
truncate 會釋放占用空間,而drop 和 delete不會。
速度:drop>truncate>dalete
綜上所述,可以得到一個問題,使用drop 和 truncate相對delete是危險的,當使用drop 和 truncate 時不能回滾。delete相對安全,可以回滾,并且commit以后才會提交,并且不會刪除表結構,也不會釋放表所占用的空間。
修改表名的方法
rename 舊表名 to? 新表名。
總結
以上是生活随笔為你收集整理的转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php统计日周月数据,PHP实现 今天、
- 下一篇: 世界坦克一百年:法国战后坦克的发展