• 从删除内容来说,drop table会删除表的数据和结构,delete from和truncate只删除数据而不删除表的结构;delete from可以可以添加where条件删除部分数据,truncate只能删除全部数据。
  • 从事务角度说,delete from是 DML 操作,可以进行回滚;drop table和truncate是 DDL,不能进行回滚。
  • 从速度来说,truncate直接把表删除(drop)然后创建一张新表,比delete快,一般 drop > truncate > delete。