MySQL中Delete和Truncate区别

一、清空表语句

truncate table [表名]delete from [表名] where …;

 

二、相同点

两者都是删除表数据 但不会删除表结构

 

三、不同点

  1. delete支持按条件删除,truncate不支持。
  2. delete 删除后自增列不会重置,而truncate会被重置。
  3. delete是逐条删除(速度较慢),truncate是整体删除(速度较快)。
  4. delete删除是一条一条删除,并不会改变表结构,属于DML,而truncate删除表数据是将表删掉,重新新建一张表,属于DDL
  5. delete不会释放空间,而truncate会释放空间。
  6. delete 支持回滚,truncate不支持。
posted @ 2022-11-01 17:28  业余砖家  阅读(130)  评论(0)    收藏  举报