两种清空表区别,清空所有表操作

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

 

 

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