mysql truncate 和delete 都用与删除数据表里的数据
truncate命令则是直接将全表的数据清空掉。 delete命令可以不带where 可以达到同样的目的 。delete通过where带上条件删除部分数据,从这可以看出delete灵活些。
下面笔者说说这两个命令的区别。
1) 使用truncate命令清除了表中的所有数据后,如果该表的主键是主键自增的话,那么该表的主键会重新从1开始。而delete不会.
2)使用truncate命令不会反悔删除了多少行数据。delete命令会返回删除了多少条数据。
3) truncate 比delete快一些
顺便说下mysql delete命令是支持 在where后面带上 order_by 和 lmit 命令来删除最上面的几条数据的。
比如
DELETE from order_type WHERE id > 100 ORDER BY id LIMIT 2;