1、Delete
delete from tableName [where 条件] //删除指定数据
delete from tableName //清空表
2、Truncate
清空一个表,但是表的结构和索引不会改变,并且也不会影响事务。
truncate table tableName //清空表,建议将table加上,避免删库跑路
区别:
相同点:都会删除数据,但是都不会删除表结构。
不同点:truncate会使得自增列的计数归零,并且不会影响事务。
另外,在使用delete清空表之后,如果是InnoDB存储引擎,并且此时重启了数据库,那么自增列也是会清零的,因为这个自增计数是存储在内存中的;而MySIAM存储引擎不受数据库重启的影响,它将自增计数存储在了文件中。