資料建立和操作是資料庫的基礎,我們分別稱之為DDL和DML。DDL是資料定義語言的縮寫。它可以建立或修改資料庫中的資料結構,而這些結構不能用於更改表中的資料。例如,我們的命令只建立一個具有指定表屬性的表,但它從不向表中新增任何行。但是資料操作語言DML能夠新增、刪除或修改表中的資料。一般來說,DDL命令處理表結構,而DML命令處理實際資料。順其自然,為什麼我們偏離了“截短和刪除的區別”這個主題呢?我們談論DML和DDL是有原因的。在前面的討論中你會明白的。
Truncate命令的目的是刪除整個表。因此,當您使用Truncate命令時,您將丟失表中的所有資料,在使用它時應謹慎。讓我們知道如何使用它。
Truncate的語法:
截斷表名;
在這裡,您應該指定應該整體刪除的表的名稱。這樣可以確保記憶體空間中有任何表。下麵是一個使用Truncate的示例。
下麵是“employee”表,只需檢視其中的資料行即可。
emp id | emp名稱 | 任命 |
1011 | 傑克 | 辦事員 |
1012 | 玫瑰色 | 行政 |
1014 | 南希 | 財務 |
現在,讓我們在employee表上發出以下命令。
截斷表;
這是上述語法的結果,其中沒有資料。
emp id | emp名稱 | 任命 |
Delete命令的目的是從表中刪除指定的行。在這裡,“Where”子句用於指定需要刪除的行。如果不指定行,命令將刪除表中的所有行。看看它的語法就知道了。
從員工中刪除;
以上語法從“employee”表中刪除所有行。因此結果表將不包含任何資料。
從emp id=1011的員工中刪除;
此語句只刪除emp id為1011的一行,因此生成的表如下所示。
emp id | emp名稱 | 任命 |
1012 | 玫瑰色 | 行政 |
1014 | 南希 | 財務 |
截斷->;從表中刪除整個資料->;表空間現在已釋放。
刪除->;將原始表資料複製到回滾空間->;刪除指定的資料/整個表->;表空間已釋放,但回滾空間已填充。
Truncate是DDL命令,這裡不允許使用觸發器。但是Delete是DML命令,這裡允許觸發器。
這些就是區別,讓我們以表格的形式來看。
序號 | 差異 | 截斷 | 刪除 |
1. | DDL還是DML? | 它是一個DDL,在資料結構級別上執行。DDL的其他例子還有CREATE和ALTER。 | 它是一個DML命令,對錶資料進行操作。DML代表資料操作語言。SELECT、UPDATE和INSERT等命令是DML的完美示例。DML代表資料操作語言。 |
2. | 它是如何工作的? | 一旦發出Truncate命令,它就會查詢指定的表。然後它將從記憶體中完全刪除所有資料。 | 在這裡,在執行實際的資料操作之前,將原始表資料複製到稱為“回滾”空間的空間中。然後對實際的表資料空間進行更改。 |
3. | 回降 | Truncate命令從不使用回滾空間,因此無法返回原始資料。回滾空間是獨佔空間,在發出DML命令時會被佔用。 | Delete命令使用回滾空間,我們可以使用Commit或RollBack分別接受或取消更改。 |
4. | 觸發器 | Truncate是一個DDL命令, 不允許使用觸發器。 | Delete是一個DML命令,這裡允許觸發器。 |
5. | 哪個更快? | 它可以刪除所有資料,並且不需要檢查任何匹配條件。而且,原始資料不會複製到回滾空間,這節省了大量時間。這兩個因素使得Truncate比Delete工作得更快。 | 它使用回滾空間,並且必須始終保留原始資料。這是一個額外的負擔,反過來,比截斷要花很多時間。 |
6. | 我們能用WHERE子句嗎? | 因為Truncate從不尋找任何匹配條件,它只是刪除所有行,所以我們不能在這裡使用Where子句。 | 但是我們總是可以藉助Delete命令中的where子句來指定條件。 |
7. | 哪個更佔空間? | truncate不會使用回滾空間,它會節省記憶體。 | 它需要一個回滾空間形式的備份,因此它需要比truncate更多的記憶體空間。 |
瞭解任何兩個實體之間的差異可以拓寬對這兩個實體的瞭解!您已經在正確的路徑(即網頁)上登陸,以瞭解truncate和delete命令之間的差異。希望你現在清楚它的區別,讓我們知道如果我們幫助你理解它。你也可以幫我們指出剩下的是什麼!
...言。這種語言用於改變資料庫的結構。Create、Alter、Drop、Truncate是一些DDL命令。 圖01:SQL ddl命令示例 請參閱以下用TSQL(MSSQL server)編寫的DDL示例; 下面的語句將建立一個名為“employee”的資料庫。 建立資料庫員工; 下面的語句...
...變和缺失突變的相似性 6. 並排比較-表格形式的替換、**和刪除突變 7. 摘要 什麼是替代突變(substitution mutati***)? 替換突變是指改變不同鹼基對核苷酸序列鹼基對的突變。例如,在替換突變中,一個鹼基對可以被替換成另一個鹼...
...染色體複製 4. 染色體缺失與重複的相似性 5. 並排比較-刪除與重複染色體的表格形式 6. 摘要 什麼是染色體缺失(deletion of chromosome)? 染色體缺失是一種染色體重排。這只是染色體臂的一部分缺失。染色體可以從兩個不同的位置...
... 注意:我已經讀到,也可以使用相同的日曆開關和刪除技巧iCloud.com. 但是我似乎無法讓事件移動到“垃圾郵件”日曆。這可能是iCloud的臨時問題,或者它可能根本無法透過web介面工作。如果您想嘗試一下,下面是如何工...
... 由於這些原因,建立和刪除分支是需要很好理解的操作。您可能會發現自己經常在典型的開發工作流中刪除分支。 ...
...址,我們將為您提供幫助。我們將向您展示如何透過新增和刪除電子郵件帳戶來管理iPhone和iPad上的郵件帳戶。 ...
Microsoft Edge web瀏覽器可以使用您的Microsoft帳戶在所有裝置上儲存和同步您的使用者名稱和密碼。但如果您要離開Edge,最好先匯出並刪除所有儲存的密碼。 雖然微軟Edge內建密碼管理方便,但只限於瀏覽器。我們建議您使用一個...
Firefox附帶了一個名為Lockwise的密碼管理器,也可以在Firefox之外使用。但是如果你要使用一個專用的密碼管理器,最好是匯出並刪除你在Firefox中儲存的所有密碼。 儘管Firefox是按鎖執行的,但使用像Bitwarden這樣的專用密碼管理器...
...設定>字型。在那裡,您也可以檢視、管理、安裝和刪除字型。玩得高興! 相關:如何在Windows10的設定應用程式中安裝和管理字型