Oracle怎么刪除數(shù)據(jù),Oracle數(shù)據(jù)刪除的三種方式
目錄
- Oracle怎么刪除數(shù)據(jù)
- drop命令
- truncate命令
- delete命令
- 關(guān)于truncate的小小總結(jié)
- 最后
Oracle怎么刪除數(shù)據(jù)
刪除表(記錄和結(jié)構(gòu))的語句delete——truncate——drop
drop命令
drop table?表名;
例如:刪除學(xué)生表(student)
drop table?student;
注意:
1、用drop刪除表數(shù)據(jù),不但會(huì)刪除表中的數(shù)據(jù),連結(jié)構(gòu)也被刪除了!
truncate命令
truncate? table? 表名;
例如:刪除學(xué)生表(student)
truncate table?student;
注意:
1、用truncate刪除表數(shù)據(jù),只是刪除表中的數(shù)據(jù),表結(jié)構(gòu)不會(huì)被刪除!
2、刪除整個(gè)表的數(shù)據(jù)時(shí),過程是系統(tǒng)一次性刪除數(shù)據(jù),效率比較高
3、truncate刪除釋放空間
delete命令
delete from?表名;
例如:刪除學(xué)生表(student)
delete from?student;
注意:
1、用delete刪除表數(shù)據(jù),只是刪除表中的數(shù)據(jù),表結(jié)構(gòu)不會(huì)被刪除!
2、雖然也是刪除整個(gè)表的數(shù)據(jù),但是過程是系統(tǒng)一行一行的刪,效率比truncate低
3、delete刪除是不釋放空間的
關(guān)于truncate的小小總結(jié)
truncate table在功能上與不帶where子句的delete語句相同:二者均刪除表中的全部行。
但truncate比delete速度快,且使用的系統(tǒng)和事務(wù)日志資源少。
delete語句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一項(xiàng)。所以可以對delete操作進(jìn)行rollback。
1、truncate在各種表上無論是大的還是小的都非常快。如果有rollback命令delte將被撤銷,而truncate則不會(huì)被撤銷。
2、truncate是一個(gè)DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,不能對truncate使用rollback命令。
3、truncate將重新設(shè)置高水平線和所有的索引。在對整個(gè)表和索引進(jìn)行完全瀏覽時(shí),經(jīng)過truncate操作后的表比delete操作后的表要快得多。
4、truncate不能觸發(fā)任何delete觸發(fā)器。
5、當(dāng)表被清空后表和表的索引將重新設(shè)置成初始大小,而delete則不能。
6、不能清空父表
最后
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。
相關(guān)文章:
