oracle刪除數據的命令:1、delete命令,該命令用于刪除表中的數據,語法為“delete from 表名 where 條件”;2、truncate命令,該命令也可用于刪除數據,能夠直接將表中的數據一次刪除,語法為“truncate table 表名”。
本教程操作環境:windows10系統、Oracle 12c版、Dell G3電腦。
oracle刪除數據的命令是什么
Oracle刪除(delete)
delete命令
Oracle中對表數據的刪除是利用delete命令進行的。
delete命令結構:
delete?from?表名?where?條件
命令解析:
1、當delete from不加where條件時,表示是把表中的數據全部刪除。
案例1、刪除學生信息表(stuinfo)中學生“張三”的數據:
delete??from?stuinfo?t?where?t.stuname='張三';
結果如下:
truncate命令
truncate命令也是數據刪除命令,他是直接把Oracle表數據一次刪除的命令,truncate命令是一個DDL命令,不同于delete是DML命令。
truncate命令結構:
truncate?table?表名;
案例2、刪除學生信息備份表(stuinfo_2018):
truncate?table?stuinfo_2018;
結果如下:
Oracle刪除(delete)
truncate和delete都能刪除表中的數據,他們的區別:
1、TRUNCATE 是 DDL 命令,命令執行完就提交,刪除的數據不能恢復; DELETE 命令是 DML 命令,命令執行完需提交后才能生效,刪除后的數據可以通過日志文件恢復。
2、如果表中的數據量較大,TRUNCATE的速度比DELETE速度快很多。
3、truncate刪除將重新設置表索引的初始大小,而delete不能。
4、delete能夠觸發表上相關的delete觸發器,而truncate則不會觸發。
5、delete刪除的原理是一次一條從表中刪除數據,并將刪除操作當做事物記錄在數據庫的日志當中,以便進行數據回滾。而truncate是一次性進行數據頁的刪除,因此執行速度快,但是不能回滾。
總結:truncate命令是屬于DDL命令,一次性刪除表中所有數據,并且數據不能恢復,在實際開發過程當中truncate命令慎用。
推薦教程:《Oracle視頻教程》