delete?from?表名;
truncate?table?表名;
两种方式的区别:
1、truncate 是整体删除,delete是逐条删除,所以在删除整个表数据时,truncate比delete快得多
2、truncate不写进服务器的log, delete会写进服务器的log
3、truncate删除之后,标识列,自增字段,索引重新归1,而delete删除之后,再次添加数据, 会重新会从删掉的索引之后自增。
4、delete更加灵活,可以选择性删除表中数据,delete from '表名' where xxx
5、delete 方式在不带条件的情况下会清空整个表数据,但是自增ID不会还原,而是从删除前最后的ID继续自增。
6、truncate 方式则会将自增ID一同还原为初始值。
MYSQL数据库自动增长的ID如何恢复
清空表的时候。不能用
delete from tablename;
而是要用:?
truncate table tablename;?
这样auto_increment?
就恢复成1了?
或者
delete from tablename; 清空内容后直接用ALTER命令修改表:?
delete?from?tablename;
alter?table?tablename?auto_increment=1;