截斷(truncate)和刪除(delete)的區別

DELETE和TRUNCATE是結構化查詢語言(SQL)中用於從表中刪除記錄或資料的兩個術語。雖然這兩個命令的最終結果是相同的,但這兩個命令之間也存在一些差異,這是很重要的,需要理解。DELETE和TRUNCATE的主要區別在於DELTE是一個數據操作語言(DML)命令,而TRUNCATE是一個數據定義語言(DDL)命令。...

主要區別

DELETE和TRUNCATE是結構化查詢語言(SQL)中用於從表中刪除記錄或資料的兩個術語。雖然這兩個命令的最終結果是相同的,但這兩個命令之間也存在一些差異,這是很重要的,需要理解。DELETE和TRUNCATE的主要區別在於DELTE是一個數據操作語言(DML)命令,而TRUNCATE是一個數據定義語言(DDL)命令。

什麼是截斷(truncate)?

TRUNCATE也是一個日誌操作。TRUNCATE TABLE語句是SQL中的一個DDL命令,它標記要釋放的表的範圍。此操作的結果是,表中的所有資料都會立即刪除,通常會繞過一些完整性強制機制。它是在SQL:2008標準中引入的。“TRUNCATE TABLE mytable”語句在邏輯上等同於不帶“WHERE”子句的“DELETE FROM mytable”語句。“TRUNCATE TABLE”透過釋放表使用的資料頁立即刪除表中的所有資料。這減少了記錄刪除操作的資源開銷,以及所需的鎖數量。我們不能在“TRUNCATE TABLE”語句中指定“WHERE”子句,因為它要麼全有要麼全無。

什麼是刪除(delete)?

在資料庫SQL中,DELETE意味著從表中刪除一個或多個記錄或資料的語句。可以使用移除所有記錄的條件來定義移除/刪除子集。一些資料庫管理系統(DBMs)如MySQL允許使用一個delete語句(也稱為multi table delete)從多個表中刪除行。DELETE語句的語法是DELETE FROM table_name[WHERE condition]。現在,符合“WHERE”條件的任何行都將從表中刪除。如果語句中省略了“WHERE”子句,則表中的所有行都將被刪除。因此,“DELETE”語句應該謹慎使用。此外,“DELETE”語句不返回任何行;也就是說,它不會生成結果集。

主要區別

  1. DELETE是資料操作語言(DML)命令,TRUNCATE是資料定義語言(DDL)命令。
  2. TRUNCATE比DELETE快得多,因為它可以立即擦除所有資料。
  3. 刪除中需要“WHERE”條件。如果語句中省略了“WHERE”子句,則表中的所有行都將被刪除。但我們不能在“TRUNCATE TABLE”語句中指定“WHERE”子句,因為它要麼全有要麼全無。
  4. DELETE從表中刪除部分或所有行,而TRUNCATE刪除所有行。
  5. DELETE導致表上的所有DELETE觸發器觸發,而TRUNCATE操作期間沒有觸發觸發器,因為它不適用於單個行。
  6. Delete可用於索引檢視,TRUNCATE不能用於索引檢視。
  7. DELETE使用行鎖執行,表中的每一行都被鎖定刪除,TRUNCATE使用表鎖執行,所有表都被鎖定以刪除所有記錄。

對比影片

  • 發表於 2020-09-05 01:03
  • 閱讀 ( 31 )
  • 分類:教育

你可能感興趣的文章

ddl公司(ddl)和dml公司(dml)的區別

...言。這種語言用於改變資料庫的結構。Create、Alter、Drop、Truncate是一些DDL命令。 圖01:SQL ddl命令示例 請參閱以下用TSQL(MSSQL server)編寫的DDL示例; 下面的語句將建立一個名為“employee”的資料庫。 建立資料庫員工; 下面的語句...

  • 發佈於 2020-10-24 04:48
  • 閲讀 ( 48 )

替代插入(substitution insertion)和缺失突變(deletion mutations)的區別

...變和缺失突變的相似性 6. 並排比較-表格形式的替換、**和刪除突變 7. 摘要 什麼是替代突變(substitution mutati***)? 替換突變是指改變不同鹼基對核苷酸序列鹼基對的突變。例如,在替換突變中,一個鹼基對可以被替換成另一個鹼...

  • 發佈於 2021-03-04 15:18
  • 閲讀 ( 39 )

刪除(deletion)和染色體複製(duplication of chromosome)的區別

...染色體複製 4. 染色體缺失與重複的相似性 5. 並排比較-刪除與重複染色體的表格形式 6. 摘要 什麼是染色體缺失(deletion of chromosome)? 染色體缺失是一種染色體重排。這只是染色體臂的一部分缺失。染色體可以從兩個不同的位置...

  • 發佈於 2021-03-04 18:47
  • 閲讀 ( 44 )

更快地查詢檔案,並使用finder標記組織您的mac

... 如何在finder中建立、編輯和刪除標記 ...

  • 發佈於 2021-03-15 05:18
  • 閲讀 ( 46 )

如何正確地停止和刪除icloud日曆垃圾郵件

... 注意:我已經讀到,也可以使用相同的日曆開關和刪除技巧iCloud.com. 但是我似乎無法讓事件移動到“垃圾郵件”日曆。這可能是iCloud的臨時問題,或者它可能根本無法透過web介面工作。如果您想嘗試一下,下面是如何工...

  • 發佈於 2021-03-16 17:01
  • 閲讀 ( 45 )

如何在本地和遠端刪除git中的分支

... 由於這些原因,建立和刪除分支是需要很好理解的操作。您可能會發現自己經常在典型的開發工作流中刪除分支。 ...

  • 發佈於 2021-03-28 02:05
  • 閲讀 ( 56 )

如何在iphone和ipad上新增和刪除電子郵件帳戶

...址,我們將為您提供幫助。我們將向您展示如何透過新增和刪除電子郵件帳戶來管理iPhone和iPad上的郵件帳戶。 ...

  • 發佈於 2021-03-30 13:14
  • 閲讀 ( 48 )

如何在microsoft edge中匯出和刪除儲存的密碼

Microsoft Edge web瀏覽器可以使用您的Microsoft帳戶在所有裝置上儲存和同步您的使用者名稱和密碼。但如果您要離開Edge,最好先匯出並刪除所有儲存的密碼。 雖然微軟Edge內建密碼管理方便,但只限於瀏覽器。我們建議您使用一個...

  • 發佈於 2021-03-31 11:14
  • 閲讀 ( 45 )

如何在firefox中匯出和刪除儲存的密碼

Firefox附帶了一個名為Lockwise的密碼管理器,也可以在Firefox之外使用。但是如果你要使用一個專用的密碼管理器,最好是匯出並刪除你在Firefox中儲存的所有密碼。 儘管Firefox是按鎖執行的,但使用像Bitwarden這樣的專用密碼管理器...

  • 發佈於 2021-03-31 11:55
  • 閲讀 ( 57 )

如何在Windows10上安裝(和刪除)字型檔案

...設定>字型。在那裡,您也可以檢視、管理、安裝和刪除字型。玩得高興! 相關:如何在Windows10的設定應用程式中安裝和管理字型

  • 發佈於 2021-03-31 13:24
  • 閲讀 ( 41 )
l68898168
l68898168

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦