drop table

drop 是直接删除表信息,速度最快,但是无法找回数据

例如删除 user 表:

drop table user;

truncate (table)

truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用

例如删除 user 表:

truncate table user;

delete from

delete 是删除表中的数据,不删除表结构,速度最慢,但可以与where连用,可以删除指定的行

例如删除user表的所有数据

delete from user;

删除user表的指定记录

delete from user where user_id = 1;

三种方式的区别

相同点

truncate和不带where子句的delete,drop都会删除表内的数据;

drop,truncate都是DDL语句(数据定义语言),执行后会自动提交;

不同点

语句类型:delete语句是数据库操作语言(DML),truncate,drop是数据库定义语言(DDL);

效率:一般来说 drop > truncate> delete;

是否删除表结构:truncate和delete 只删除数据不删除表结构,truncate 删除后将重建索引(新插入数据后id从0开始记起),而 delete不会删除索引 (新插入的数据将在删除数据的索引后继续增加),drop语句将删除表的结构包括依赖的约束,触发器,索引等;

安全性:drop和truncate删除时不记录MySQL日志,不能回滚,delete删除会记录MySQL日志,可以回滚;

返回值:delete 操作后返回删除的记录数,而 truncate 返回的是0或者-1(成功则返回0,失败返回-1);

小知识

delete 与 delete from 区别

如果只针对一张表进行删除,则效果一样;如果需要联合其他表,则需要使用from

delete tb1 from tb1 m where id in (select id from tb2);

用法总结

希望删除表结构时,用 drop;

希望保留表结构,但要删除所有记录时, 用 truncate;

希望保留表结构,但要删除部分记录时, 用 delete。

到此这篇关于MySQL删除表的三种方式(小结)的文章就介绍到这了,更多相关MySQL 删除表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

mysql表删除回滚_MySQL删除表的三种方式(小结)相关推荐

  1. mysql批量更新报错_Mysql批量更新的三种方式

    前言 批量插入由于mysql的VALUES原生支持,使用较为便利. 批量更新的写法一般有三种,在更新数量较少的情况下,前两种性能不相上下.但是在更新字段增加,更新条数较多(500以上)建议使用第三种写 ...

  2. mysql中如何获取字段类型_MySQL获取字段类型的三种方式

    1. INFORMATION_SCHEMA.COLUMNS INFORMATION_SCHEMA是每个MySQL实例中的数据库,该实例存储有关MySQL服务器维护的所有其他数据库的信息. 如查询某一个 ...

  3. mysql数据库出现回滚_mysql数据库回滚

    在应用$mysqli时,因没常用到数据回滚,老忘,整理下,做个记录. $mysqli->autocommit(FALSE);//自动提交设置关闭 $mysqli->query(" ...

  4. Mysql主从异常 表被回滚_Mysql主从同步 异常Slave_SQL_Running: No

    在刚搭建好的mysql主从节点上对从节点进行操作,导致同步异常:报错如下: 从节点执行: mysql> show slave status\G; ************************ ...

  5. mysql语句事务回滚_mysql语句,事务处理回滚的问题。

    mysql_query("BEGIN"); $ck_id = M('ods')->add($public); foreach ($datas as $k => $val ...

  6. mysql在线快速修改密码_MySQL修改密码的几种方式

    这篇文章主要介绍了MySQL修改密码的几种方式,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下 前言: 在日常使用数据库的过程中,难免会遇到需要修改账号密码的情景,比如密码太简单需要修改. ...

  7. mysql数据库根据引擎备份_MySQL数据库备份的几种方式

    最近一直想写点博客,但是不知道写什么,感觉自己最近的知识没有什么增加,今天想到了一篇可以写的博客.以前试过根据data文件夹备份MySQL,但是从来没有成功过,前几天帮助朋友还原MySQL,终于成功的 ...

  8. mysql admin 修改密码_mysql修改密码的三种方式

    方法1: 用SET PASSWORD命令 首先登录MySQL,使用mysql自带的那个客户端连接上mysql. 格式:mysql> set password for 用户名@localhost ...

  9. oracle多表联合查询更新,ORACLE 两表关联更新三种方式

    不多说了,我们来做实验吧. 创建如下表数据 select * from t1 ; select * from t2; 现需求:参照T2表,修改T1表,修改条件为两表的fname列内容一致. 方式1,u ...

最新文章

  1. FFMPEG Tips (5) 如何利用 AVDictionary 配置参数
  2. Android merge 标签 显示错乱
  3. error C2872: “IDocument”: 不明确的符号
  4. React Native - FlexBox弹性盒模型
  5. [2014.3.23]cse::lab2::partD 简明攻略
  6. 前端python与php_WEB前端、PHP、python这三个学习哪一个比较好?
  7. 18 安装zlib报错_scalapack win安装及mingw64环境配置
  8. [logstash-input-log4j]插件使用详解
  9. 告白气球--吉他教学
  10. Volley源码解析(一)
  11. 计算机硬盘怎么优化,硬盘怎么优化_机械硬盘优化
  12. flex + tomcat + myEclipse环境配置与使用(四)
  13. QQ音乐与网易云音乐评测分析
  14. 计算机cad比例尺1 150,CAD图纸里面 1:50 和:1:100和1:150三个比例分别怎么换算...
  15. Python爬取百思不得姐的视频+视频的切割+给视频添加水印
  16. 基于Wemos的感应开盖垃圾桶
  17. 制作视频软件哪个好?教培人最爱的视频制作软件,一款就够!
  18. adc 采样时间 采样周期数 采样频率计算(以stm32为例)
  19. 数据结构学习:哈希表
  20. jdk9模块化简单介绍

热门文章

  1. 弘辽科技:淘宝直播客服应掌握的技巧有哪些?
  2. iOS形变之CGAffineTransform
  3. 2008年春节前的全国大范围的强降雪,给了我们什么?
  4. 苹果11有什么新功能_苹果手表系列6,增加血氧监测新功能
  5. 自适应来电模拟器微信小程序源码/可自定义来电名称归属地铃声等
  6. delegate IDE build/run actions actions to Maven
  7. 手把手教你!0基础小白也可以使用谷歌服务器搭建自己的博客网站
  8. 年薪50w的Python从业者,究竟要经历怎样的蜕变~
  9. UnityXR手柄按键输入
  10. 【JZOJ3296】【BZOJ3197】【luoguP3296】刺客信条