清空表数据一共有三种方式

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条件,则是删除表所有的数据,这是很危险的!不建议这样做!


Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐