刪除資料Delete 語句 Truncate 語句

2021-07-11 18:13:04 字數 713 閱讀 3748

如果想要刪除表的所有資料,truncate語句要比 delete 語句快。

因為 truncate 刪除了表,然後根據表結構重新建立它,而 delete 刪除的是記錄,並沒有嘗試去修改表。

這也是為什麼當向乙個使用 delete 清空的表插入資料時,mysql 會記住前面產生的autoincrement序列,並且繼續利用它對autoincrement欄位編號。而truncate刪除表後,表是從1開始為autoincrement欄位編號。

不過truncate命令快規快,卻不像delete命令那樣對事務處理是安全的。因此,如果我們想要執行truncate刪除的表正在進行事務處理,這個命令就會產生退出並產生錯誤資訊。

delete [low_priority] [quick] [ignore] from tbl_name

[where where_definition]

[order by ...]

[limit row_count]

如:
delete from friends where user_name = 'zhangsan';

truncate [table] tbl_name
如:
truncate table users;

delete 刪除語句

delete 語句用於刪除表中的行。delete from 表名稱 where 列名稱 值 lastname firstname address city gates bill xuanwumen 10 beijing wilson fred zhongshan 23 nanjing fred wi...

MySQL防止delete命令刪除資料

在sql中刪除資料庫中記錄我們會使用到delete命令,這樣如果不小心給刪除了很難恢復了,總結一些刪除資料但是不在資料庫刪除的方法。方法一我常用的做法,就是在資料庫中加乙個刪除標識字段,如 isdel 1 這樣就 刪除的字段了 方法二直接限制mysql刪除 啟動mysql的時候加上引數 u u,sa...

MYSQL中delete多表關聯刪除資料

delete刪除多表資料,怎樣才能同時刪除多個關聯表的資料呢?這裡做了深入的解釋 1 delete from t1 where 條件 2 delete t1 from t1 where 條件 3 delete t1 from t1,t2 where 條件 4 delete t1,t2 from t1...