兩種清空表區別,清空所有表操作

TRUNCATE
truncate `table_name`
直接清空表格,速度快。
不寫服務器log,效率高。
不激活trigger(觸發器),但是會重置Identity(標識列、自增字段),相當於自增列會被置爲初始值,又重新從1開始記錄,而不是接着原來的ID數。

DELETE
delete from `table_name `
delete from `table_name ` where  `condition_sql`
逐條刪除,速度慢。
寫服務器log,效率低。
激活trigger(觸發器),但不會重置Identity,即Identity依舊是接着被刪除的最近的那一條記錄ID加1後進行記錄。
如果只需刪除表中的部分記錄,只能使用DELETE語句配合where條件。(如上代碼段所示)

 

清空所有表:

select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where  table_schema in ('msyserver');

生成清空所有表語句,然後將結果粘貼到命令行運行。

https://blog.csdn.net/qq_36838191/article/details/85758654

https://blog.csdn.net/iw1210/article/details/79586033

 

 

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