旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

浅谈mysql清空表数据的两种体式格局和区分【MySQL教程】,mysql,truncate,delete,自增,触发器

作者:搜教程发布时间:2019-12-02分类:MySQL教程浏览:88评论:0


导读:在MySQL中删除数据有两种体式格局:1、truncate(截短)属于粗犷型的清空2、delete属于精细化的删除删除操纵假如你须要清空内外的一切数据,下面两种...

MySQL中删除数据有两种体式格局:

1、truncate(截短)属于粗犷型的清空

2、delete属于精细化的删除

删除操纵

假如你须要清空内外的一切数据,下面两种都可:

delete from tablename;
truncate table tablename;

而假如你只是删除一部份数据,就只能运用delete

delete from tablename where case1 and case2;

区分

在精细化的删除部份数据时,只能运用delete

而清空一切表数据时,二者都可,此时这两种体式格局有肯定的区分:

1、返回值

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)

2、自增字段

假如表中有自增字段,truncate会重置为1,而delete会坚持自增的最大值。

3、实行效力

truncate不扫描表,相当于从新创建了表,只保留了表的构造,然后删撤除原有表,效力异常高。
delete会扫描全表,依据where语句做推断,因而效力低。

4、操纵日记

truncate不写服务器日记,没法恢复。
delete会写服务器日记。

5、触发器

truncate不激活触发器,delete会激活触发器。

引荐进修:MySQL教程

以上就是浅谈mysql清空表数据的两种体式格局和区分的细致内容,更多请关注ki4网别的相干文章!

标签:mysqltruncatedelete自增触发器


欢迎 发表评论: