文章目录

  • 1. drop:删除数据库
  • 2. 对比 TRUNCATE TABLE 和 DELETE FROM
  • 3. DDL 和 DML 的说明

1. drop:删除数据库

  • drop语句将表所占用的空间全释放掉。
  • drop > truncate > delete

方式1:如果要删除的数据库存在,则删除成功。如果不存在,则报错

DROP DATABASE mytest1;

方式2:推荐。 如果要删除的数据库存在,则删除成功。如果不存在,则默默结束,不会报错。

DROP DATABASE IF EXISTS mytest1;

2. 对比 TRUNCATE TABLE 和 DELETE FROM

  1. 相同点:都可以实现对表中所有数据的删除,同时保留表结构。
  2. 不同点:
  • TRUNCATE TABLE:一旦执行此操作,表数据全部清除。同时,数据是不可以回滚的。
  • DELETE FROM:一旦执行此操作,表数据可以全部清除(不带WHERE)。同时,数据是可以实现回滚的。

3. DDL 和 DML 的说明

① DDL(CREATE 、 DROP 、 ALTER、TRUNCATE 等)的操作一旦执行,就不可回滚。指令SET autocommit = FALSE对DDL操作失效。(因为在执行完DDL操作之后,一定会执行一次COMMIT。而此COMMIT操作不受 SETautocommit = FALSE影响。)

② DML(INSERT 、 DELETE 、 UPDATE 、 SELECT等)的操作默认情况,一旦执行,也是不可回滚的。但是,如果在执行DML之前,执行了 SET autocommit = FALSE,则执行的DML操作就可以实现回滚。

  • 演示1:DELETE FROM 删除数据后,恢复数据
SET autocommit = FALSE;

DELETE FROM myemp3;

  • 查询后数据为空

  • 回滚数据

  • 再次查询,可以看到恢复数据了

  • 演示2:TRUNCATE TABLE,不能回滚数据操作

SET autocommit = FALSE;

TRUNCATE TABLE myemp3;

  • 清空了数据

  • 回滚事物

rollback

  • 查询后数据并没有恢复

【mysql】drop、truncate和delete的区别相关推荐

  1. 深度分析DROP,TRUNCATE与DELETE的区别【我的数据库之路系列】

    深度分析DROP,TRUNCATE与DELETE的区别[我的数据库之路系列] 转载自:http://hi.baidu.com/bjn_wuming/blog/item/8b27a9af36ef26f6 ...

  2. mysql truncate drop_详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始 | 很文博客...

    不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该 ...

  3. 详解MySQL中DROP,TRUNCATE 和DELETE的区别

    注意:这里说的delete是指不带where子句的delete语句 相同点: truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和  ...

  4. MYSQL基本知识:TRUNCATE和DELETE的区别

    目录 1.条件删除 2. 事务回滚 3. 清理速度 4. 高水位重置 MYSQL中TRUNCATE和DELETE都能够清理表中的数据,那它们的基本区别是什么呢? 1.条件删除 这个比较好理解,因为DE ...

  5. Mysql之drop、truncate和delete的区别

    一.delete 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表 ...

  6. drop、truncate和delete的区别

    drop.truncate和delete的区别 (1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作. TRUNCATE TA ...

  7. MySQL数据库:drop、truncate、delete的区别

    1.删除速度:drop>truncate>delete: 2.删除方式: (1)执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在日志文件中.delete可根据w ...

  8. oracle中drop和delete,oracle中delete drop truncate的用法和区别

    数据库的运维中,经常会遇到delete drop truncate的操作,那么如何去把握它们的用法和区别呢? 比如当数据库空间爆满,已经增长到存储空间单个存储文件的最大值32G.你需要通过一些办法释放 ...

  9. [转载]drop、truncate和delete的区别

    原文出处:http://blog.csdn.net/ws0513/article/details/49980547 (1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作 ...

最新文章

  1. join,和循环删除,fromkeys,集合,拷贝
  2. java 创建文件夹的方法_Java创建文件夹的方法
  3. 读“NoSQL注入的分析和缓解”之摘录
  4. Node.js 路由的简单使用
  5. Java堆、栈、内存分析
  6. CCKS 2018 | 工业界论坛报告简介
  7. 用递归和非递归实现斐波那契数列
  8. Cisdem PDFMaster for Mac(PDF批量转换工具)
  9. GNSS最终、快速、超快速星历下载地址汇总
  10. FC网络光纤通信 c语言实现,[2018年最新整理]光纤通信实验指导书(含原理).doc
  11. cocos2d-x面试题(一)
  12. 计算机思维--0和1与逻辑
  13. OSChina 周六乱弹 —— 想通过么?收费!!!
  14. OA系统有哪些功能?在企业中发挥怎样的作用?
  15. 友盟+全面解析ios 卡顿问题
  16. 用AI画一只漂亮的羽毛
  17. Android实现抽奖转盘
  18. AI画作拿下比赛一等奖惹怒人类艺术家,主办方:照常颁奖
  19. 搭建大型分布式服务(十四)SpringBoot整合dubbo starter
  20. 面向对象重写理解 求值策略 -共享对象调用 面向对象原则

热门文章

  1. vscode连接远程服务器遇到Bad owner or permissions on C:\\Users\\XXX/.ssh/config的解决方法
  2. 管家婆软件五大实用小技巧,不会用太可惜了
  3. 计算机毕业设计java+jsp鲜花销售商城信息网站(源码+系统+mysql数据库+Lw文档)
  4. 大学python搜题app_有没有什么大学生搜题比较好用的app?
  5. 阻抗分析仪 测出的阻抗为负数
  6. ath9k网卡驱动相关
  7. 洛谷P1339 Heat Wave G(最短路,图论)
  8. 流量魔盒“骗”了多少人?快来看看吧!~
  9. 技术汇之物联网设备网关技术架构设计
  10. pfSense book之DNS解析