drop,delete和truncate的区别

drop,delete和truncate的区别

  • delete和truncate只删除表数据,不删除表结构;
  • 速度:delete 逐条删除,truncate整体删除,一般来说 drop > truncate > delete。
  • delete 删除后自增列不会重置,truncate 删除后会被重置。
  • delete 支持按条件删除,truncate不支持。
  • delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;truncate,drop是ddl,操作立即生效,原数据不会放到rollback segement中,不能回滚。
  • delete如果有相应的触发器trigger,执行时将被触发;truncate和drop操作不会触发trigger。

你可能感兴趣的:(数据库,数据库,mysql)