sql语句delete from 'table' 和 truncate 'table'的区别

delete from 'table' 和 truncate 'table'都可以清空数据库,但是他们是有区别的:

相同点:

都能删除数据,不会删除表的结构和索引值

 

不同点:

1.truncate 会重新设置自增列,计数器变为0

2.truncate 不会影响事务

 

 

补充

用delete 删除数据的时候,重启数据库:

如果是InnoDB类型的数据库,则自增会从1开始,因为它的数据是存在缓存中的

如果是MyISAM类型的数据库,则自增会从上一个开始,因为它的数据是存在本地文件中 

上一篇:MySQL中删除表的类型和区别


下一篇:mysql笔记(9)-表的创建和删除(drop/truncate/delete)