MySQL數據庫的刪除操作delete和truncate的區別

Create table student(

         Id INT(3) primarykey auto_increment,

         Name varchar(4)

);

 

Truncate table student;

 

(1)     delete語句是DML語data manipulation language它們是SELECTUPDATEINSERTDELETE,就象它的名字一樣,這4條命令是用來對數據庫裏的數據進行操作的語言),truncateDDL語句(datadefinition languageDDLDML要多,主要的命令有CREATEALTERDROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用。);

(2)    delete語句後面可以跟where子句,通過where子句中的表達式,只刪除滿足條件的部分記錄,而truncate只能用於刪除表中的所有記錄;

(3)    使用truncate語句刪除表中的數據後,再次向表中添加記錄時,字段的默認初始值從1開始,而使用delete刪除表中的所有記錄後,再次向表中添加記錄,自動增加字段的值爲刪除時字段的最大值加1.

(4)    使用delete語句,沒刪除一天記錄都會記錄在日誌中,而truncate語句不會記錄在日誌中,因此truncate語句的執行效率比delete語句高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章