程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 【轉載】delete table 和 truncate table 的區別,tabletruncate

【轉載】delete table 和 truncate table 的區別,tabletruncate

編輯:MySQL綜合教程

【轉載】delete table 和 truncate table 的區別,tabletruncate


使用delete語句刪除數據的一般語法格式:

delete [from]

{table_name、view_name}

[where]

將XS表中的所有行數據刪除

delete XS

執行完後,發現XS表中的數據都刪除了,但是表的結構什麼都還在。

truncate

truncate table語句將刪除指定表中所有數據,因此也稱其為清除表數據語句,一般格式如下

truncate table name

由於truncate語句將刪除表中的所有數據,且無法恢復,因此使用時必須十分小心。

使用truncate table刪除了指定表中的所有行,但表的結構及其列,約束,索引等保持不變,而新行標識所用的計數值重置為該列的初始值。如果想保留標識計數值,則要使用DELETE語句。

TRUNCATE TABLE執行速度比DELETE塊,且使用的系統和事務日志資源少。DELETE語句每次刪除一行,並在事務日志中為所刪除的每行記錄一項。而TRUNCATE TABLE通過釋放存儲表數據所用的數據頁來刪除數據,並且只在事務日志中記錄頁的釋放。

對於有外鍵約束引用的表,不能使用TRUNCATE TABLE刪除數據,而應該使用布袋WHERE子句的DELETE語句。另外TRUNCATE TABLE也不能用於參與了索引視圖的表。

轉自於博客園,如有冒犯請及時通知,本人會在第一時間刪除。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved