在MySQL中删除数据有两种方式:truncate table 表名delete from 表名

它们在以下方面存在区别:

执行效率
truncate不扫描表,相当于重新创建了表,只保留了表的结构,然后删除掉原有表,效率非常高。
delete会扫描全表,根据where语句做判断,因此效率低。(这是重点)

返回值
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会写服务器日志。

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

参考资料
MySQL 清空表(truncate)与删除表中数据(delete) 详解:https://blog.csdn.net/chenshu…
MySQL中删除数据的两种方法:https://blog.csdn.net/apache6…
清空某个mysql表中所有内容:https://blog.csdn.net/jianhon…

MySQL 清空表数据的两种方式和区别相关推荐

  1. MySQL删除表数据 MySQL清空表数据命令 3种方法

    一.MySQL清空表数据命令:truncate SQL语法: truncate table 表名; 注意: 不能与where一起使用. truncate删除数据后是不可以rollback的. trun ...

  2. Mysql清除表数据的三种方式

    Mysql 删除数据表的三种方式详解 用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, ...

  3. oracle 清空表数据的2种方式及速度比较

    1.情景展示 现在,需要清空该表数据 2.实现方式 为了比较删除速度,对该表进行复制 确认复制的表和原来的表数据是否一致 方式一:使用truncate table实现 方式二:使用delete fro ...

  4. 删除表数据有两种方法及区别

    delete的用法如下: delete from <表名> [where条件] truncate的用法如下: truncate table <表名> delete和trunca ...

  5. 通过Navicat创建MySQL数据库并倒入表数据的两种方式

    方式一:通过图形界面(Navicat)进行创建 创建数据库 1.首先建立MySQL数据库连接 2. 然后创建一个数据库 导入表结构(资料/数据模型/sql文件) 1.首先打开数据库 2.然后执行sql ...

  6. oracle 批量删除表数据的两种方式

    1.拼接式删除 SELECT'TRUNCATE TABLE ' || listagg || ';' FROM(SELECTLISTAGG(TABLE_NAME, ',') WITHIN GROUP(O ...

  7. MySQL增加外键的两种方式

    MySQL增加外键的两种方式 *根据需求建一下表 i: emp表 ii:dept表 *1.增加外键(创建表的时候) 代码实现(工具:Navicat 12 for MySQL) CREATE TABLE ...

  8. Spark读取Hive数据的两种方式与保存数据到HDFS

    Spark读取Hive数据的两种方式与保存数据到HDFS Spark读取Hive数据的方式主要有两种 1. 通过访问hive metastore的方式,这种方式通过访问hive的metastore元数 ...

  9. mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据...

    mysql服务无法启动怎么解决_数据库 mysql服务无法启动的解决方法是:1.配置环境变量:2.在mysql安装目录下,新建my.ini文件,设置默认字符集.端口.存储引擎等:3.执行[mysqld ...

最新文章

  1. Hbase 01_初学必知
  2. Cppcheck 1 54 C/C++静态代码分析工具
  3. V-Play入门手册3-如何编写高效的代码?
  4. spring自动扫描的注解@Component @Controller @Service @Repository
  5. Spark内核解析之一:内核概述
  6. redis技术分享ppt_一线互联网架构师技术分享:基于redis的分布式锁实现
  7. idea中git回退远程仓库版本
  8. protel99se基本教程及使用教程
  9. .\Objects\TIM_TEST.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
  10. xshell6和xftp6的安装
  11. 校园火灾Focue-3---》音乐
  12. R语言使用rbind函数向量或者dataframe数据和另外一个dataframe数据纵向合并起来(vertically)
  13. 安装pocoui报错
  14. 清除Windows系统用户密码
  15. 快递对接京东,菜鸟,顺丰过程备忘录
  16. 堆叠泛化(Stacking Generalization)
  17. 数据抓取 -- 使用代理IP爬取数据:(2):使用timeout 时要注意,防止数据加载不完整 ,导致爬取丢失(举例)
  18. 正益移动:不仅仅送给你软件生产线
  19. 基于近场动力学的二维疲劳裂纹扩展模型_完全耦合热弹性问题的普通态基近场动力学模拟——目录
  20. 2022-2028年全球与中国铌酸锂晶体行业发展趋势及投资战略分析

热门文章

  1. 浅谈 大数据分析:市场分析、运营分析、用户行为分析
  2. 吴恩达机器学习之逻辑回归:逻辑回归的假说表示、判定边界、代价函数、简化的成本函数和梯度下降、高级悠哈、多类别分类之一对多(详细笔记,建议收藏,已有专栏)
  3. BigDecimal 往左移动两位小数_接吻时,头往左歪 or 往右歪,竟然和喜欢程度有关?!...
  4. 创世区块诞生 | 历史上的今天
  5. 【OpenGL ES】绘制魔方
  6. gitlab.rb 文件配置详解
  7. win10 上,更新.NET Framework 3.5 时,出现 0x800F0954和0x8024002E报错后,对应的解决方法
  8. IntelliJ Idea如何将设置tab设置为4个空格
  9. 无线充电技术为什么不会影响手机信号
  10. matplotlib绘制小提琴图(官网简化版)