mysql清空表数据的方法有哪些
这篇文章将为大家详细讲解有关MySQL清空表数据的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、台前网络推广、微信小程序、台前网络营销、台前企业策划、台前品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供台前建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
在MySQL中删除数据有两种方式:
truncate(截短)属于粗暴型的清空
delete属于精细化的删除
删除操作
如果你需要清空表里的所有数据,下面两种均可:
delete from tablename; truncate table tablename;
而如果你只是删除一部分数据,就只能使用delete:
delete from tablename where case1 and case2;
区别
在精细化的删除部分数据时,只能使用delete。
而清空所有表数据时,两者均可,此时这两种方式有一定的区别:
返回值
truncate返回值为0,而delete会返回被删除的记录数
mysql> truncate serviceHost; Query OK, 0 rows affected (0.04 sec) mysql> delete from serviceHost where creator='test'; Query OK, 4 rows affected (0.01 sec)
自增字段
如果表中有自增字段,truncate会重置为1,而delete会保持自增的最大值。
执行效率
truncate不扫描表,相当于重新创建了表,只保留了表的结构,然后删除掉原有表,效率非常高。
delete会扫描全表,根据where语句做判断,因此效率低。
操作日志
truncate不写服务器日志,无法恢复。
delete会写服务器日志。
触发器
truncate不激活触发器,delete会激活触发器。
关于“mysql清空表数据的方法有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
分享名称:mysql清空表数据的方法有哪些
分享地址:http://azwzsj.com/article/jochsc.html