MySQL中如何清空表数据

 更新时间:2023年03月13日 08:31:35   作者: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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论