資料庫關鍵詞 drop、truncate和delete的用法
一、SQL中的語法
1、drop table 表名稱 eg: drop table dbo.Sys_Test
2、truncate table 表名稱 eg: truncate table dbo.Sys_Test
3、delete from 表名稱 where 列名稱 = 值 eg: delete from dbo.Sys_Test where test=‘test’
二、drop,truncate,delete區別
1、drop (刪除表):刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增資料是不可能的,除非新增一個表。
drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger)索引(index);依賴於該表的儲存過程/函式將被保留,但其狀態會變為:invalid。
2、truncate (清空表中的資料):刪除內容、釋放空間但不刪除定義(保留表的資料結構)。與drop不同的是,只是清空表資料而已。
注意:truncate 不能刪除行資料,要刪就要把表清空。
3、delete (刪除表中的資料):delete 語句用於刪除表中的行。delete語句執行刪除的過程是每次從表中刪除一行,並且同時將該行的刪除操作作為事務記錄在日誌中儲存
以便進行進行回滾操作。
truncate與不帶where的delete :只刪除資料,而不刪除表的結構(定義)
4、truncate table 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用delete。
如果要刪除表定義及其資料,請使用 drop table 語句
5、對於由foreign key約束引用的表,不能使用truncate table ,而應使用不帶where子句的delete語句。由於truncate table 記錄在日誌中,所以它不能啟用觸發器。
6、執行速度,一般來說: drop> truncate > delete。
7、delete語句是資料庫操作語言(dml),這個操作會放到 rollback segement 中,事務提交之後才生效;如果有相應的 trigger,執行的時候將被觸發。
truncate、drop 是資料庫定義語言(ddl),操作立即生效,原資料不放到 rollback segment 中,不能回滾,操作不觸發 trigger。
三、刪除表資料的兩種方法:delete和turncate。具體語句如下:
1、RUNCATE TABLE name :
刪除表中的所有行,而不記錄單個行刪除操作。 在這個指令之下,表格中的資料會完全消失,可是表格本身會繼續存在。
TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,引數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
2、Delete from tablename where 1=1
1)、delete語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值。
2)、刪除所有行:
可以在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的:DELETE FROM table_name。
相關文章
- 資料庫:drop、truncate、delete的區別資料庫delete
- SQL資料庫中Truncate的用法SQL資料庫
- 資料庫Delete的多種用法資料庫delete
- delete和truncate刪除的區別delete
- 資料庫SQL語句中關於explain關鍵字的用法資料庫SQLAI
- SQLSERVER 的 truncate 和 delete 有區別嗎?SQLServerdelete
- 關鍵詞加粗和插入關鍵詞
- PostgreSQL 資料庫中 DISTINCT 關鍵字的 4 種用法SQL資料庫
- 匹配關鍵詞和敏感詞
- 年終盤點:2020資料庫“四大”關鍵詞資料庫
- mysql 大表drop和truncate 技術風險點MySql
- Mac電腦中delete鍵的七種用法!Macdelete
- 在MySQL中 Truncate Delect Drop 的區別MySql
- 資料庫和資料湖的關鍵概念性差異資料庫
- 盤點2018:資料庫領域關鍵詞“自研” ”融合“ ”崛起“資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 2022大資料十大關鍵詞大資料
- Java的關鍵詞和註釋符Java
- 資料庫的主外來鍵關係資料庫
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- sql:delete if exists還是drop if exists?SQLdelete
- 高效的關鍵詞替換和敏感詞過濾工具
- JavaScript delete用法JavaScriptdelete
- 2022 資料治理領域十大關鍵詞!
- Hive常用命令,快鍵和關鍵詞Hive
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- transient關鍵詞的概述
- 關鍵詞提取
- robot 關鍵詞
- ABAP關鍵字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
- 人、資料、未來 360在RSAC 2020的三個關鍵詞
- IndexedDB 資料庫用法Index資料庫
- 關係型資料庫和非關係型資料庫的區別資料庫
- 年終盤點:2020資料分析“三大”關鍵詞
- 【北亞資料恢復】誤操作導致雲伺服器表被truncate,表內資料被delete的資料恢復資料恢復伺服器delete
- 故障分析 | DROP 大表造成資料庫假死資料庫
- GreatSQL資料庫DROP表後無法重建SQL資料庫