MySQL中如何清空表数据
作者:Joe world
这篇文章主要介绍了MySQL清空表数据的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
MySQL清空表数据
清空表数据一共有三种方式
1 、truncate (速度很快) 自增字段清空从1开始 全表清空首选
2、drop 直接删表…啥都没了啥都没了 … … … …
3、delete 速度慢的一批 自增字段不清空
MySQL清空表数据命令:truncate
说明:删除内容、释放空间但不删除定义,也就是数据表的结构还在。与drop不同的是,它只是清空表数据而已,它比较温柔。
truncate table 表名
注意:
不能与where一起使用。
- truncate删除数据后是不可以rollback的。
- truncate删除数据后会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。
- truncate删除数据后不写服务器log,整体删除速度快。
- truncate删除数据后不激活trigger(触发器)。
MySQL删除表命令:drop
说明:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
drop table 表名;
或者是 加上条件
drop table if exists 表名
注意:
drop不光清除表数据还要删除表结构。
MySQL清空数据表内容的语法:delete
说明:删除内容不删除定义,不释放空间。其中,delete table tb 虽然也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)。
delete from 表名 where id='1';
或者是 不带有条件
delete from 表名;
注意:
- delete含义:你要删除哪张表的数据 ?你要删掉哪些行 ?
- delete可以删除一行,也可以删除多行;
- 如果不加where条件,则是删除表所有的数据,这是很危险的!不建议这样做!
Mysql清空表数据,id从1开始
TRUNCATE TABLE table_name
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。