oracle刪除數據的命令是什么

oracle刪除數據的命令:1、delete命令,該命令用于刪除表中的數據,語法為“delete from 表名 where 條件”;2、truncate命令,該命令也可用于刪除數據,能夠直接將表中的數據一次刪除,語法為“truncate table 表名”。

oracle刪除數據的命令是什么

本教程操作環境: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='張三';

結果如下:

oracle刪除數據的命令是什么

truncate命令

truncate命令也是數據刪除命令,他是直接把Oracle表數據一次刪除的命令,truncate命令是一個DDL命令,不同于delete是DML命令。

truncate命令結構:

truncate?table?表名;

案例2、刪除學生信息備份表(stuinfo_2018):

truncate?table?stuinfo_2018;

結果如下:

oracle刪除數據的命令是什么

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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享