Mysql 删除数据表的三种方式详解

用法:

1、当你不再需要该表时, 用 drop;

2、当你仍要保留该表,但要删除所有记录时, 用 truncate;

3、当你要删除部分记录或者有可能会后悔的话, 用 delete。

删除程度可从强到弱如下排列:

drop table tb;

drop 是直接将表格删除,无法找回。例如删除 user 表:

drop table user;

truncate (table) tb;

truncate 是删除表中所有数据,但不能与where一起使用;

TRUNCATE TABLE user;

delete from tb (where);

delete 也是删除表中数据,但可以与where连用,删除特定行;

-- 删除表中所有数据

delete from user;

-- 删除指定行

delete from user where username ='Tom';

truncate 和 delete 的区别:

1. 事物

truncate删除后不记录mysql日志,因此不可以rollback,更不可以恢复数据;而 delete 是可以 rollback ;

原因:truncate 相当于保留原mysql表的结果,重新创建了这个表,所有的状态都相当于新的,而delete的效果相当于一行行删除,所以可以rollback;

2. 效果

效率上 truncate 比 delete快,而且 truncate 删除后将重建索引(新插入数据后id从0开始记起),而 delete不会删除索引 (新插入的数据将在删除数据的索引后继续增加)

3. truncate 不会触发任何 DELETE触发器;

4. 返回值

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

delete 与 delete from 区别:

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

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

mysql 删除数据表中数据_Mysql-删除数据表-三种方式详解相关推荐

  1. 删除mysql表_Mysql 删除数据表的三种方式详解

    用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除程度可从强到 ...

  2. Mysql 删除数据表的三种方式详解

    用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除程度可从强到 ...

  3. 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP

    在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式. 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图. 从3张图里我们看到了几点 ...

  4. MySQL批量入库的几种方式详解

    MySQL批量入库的几种方式详解 1. MySQL批量入库概述 2. Hutool封装jdbc方式 3. Jdbc直接或批量执行方式 4. MyBatis批量入库方式 5. MySQL批量入库总结 1 ...

  5. vue 函数 路由跳转_vue中通过路由跳转的三种方式

    router-view 实现路由内容的地方,引入组件时写到需要引入的地方 需要注意的是,使用vue-router控制路由则必须router-view作为容器. 通过路由跳转的三种方式 1.router ...

  6. vue中实现路由跳转的三种方式(超详细整理)

    vue中实现路由跳转的三种方式 一.使用vue-router vue-router 本质是一个第三方的包 用的时候需要下载 步骤 (7步法 ): 下载vue-router模块到当前工程 yarn ad ...

  7. vue划入划出事件_基于vue中对鼠标划过事件的处理方式详解

    鼠标事件进行监听 需求中,在一个table(组件)表中,对于其中一列(该列为图片列),当鼠标划过该列的某个单元格子(图片)时,需要展示出该单元格子对应的遮罩层 翻阅了一些博客,发现好多都提到了mous ...

  8. Python找出列表中出现次数最多的元素三种方式

    通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中 ...

  9. python中with open写csv文件_Python中的CSV文件使用with语句的方式详解

    是否可以直接使用with语句与CSV文件?能够做这样的事情似乎很自然: import csv with csv.reader(open("myfile.csv")) as read ...

最新文章

  1. 我是Redis,MySQL大哥被我害惨了!
  2. Java多线程面试题
  3. httpclient 小例子编写
  4. sparkstreaming(1)——实战
  5. Unix基本系统数据类型和stat结构体
  6. 软件开发丨关于软件重构的灵魂四问
  7. OpenShift Security (7) - 风险合规评估
  8. “我不是个优秀的 Web 开发人员,我只是擅长搜索谷歌”
  9. 【数据挖掘】缺失数据
  10. 状态方程simulink仿真_推荐几本关于制冷仿真的书籍|压缩机|制冷剂|热泵
  11. [十大谬论]常见的逻辑谬误与批判方法
  12. CSS垂直居中img
  13. CSS:absolute绝对定位
  14. python制作的简单程序_Python如何制作简易收银小程序
  15. 主动学习与自监督学习结合的方法(Active Learning+Self-Supervision)
  16. LPC1768处理器开发板下载软件的使用方法
  17. 模型预测控制(MPC)解析(十一):变量约束的预测控制
  18. 指导应届生,毕业1两年程序员面试,指导简历,教学习编程
  19. 预测|2019软件测试职业发展趋势,附BAT、TMD入职指南!
  20. 久久未至的Codevs1024一塔湖图解题报告

热门文章

  1. 走进传奇的“杨辉三角”
  2. Android Text Layout 框架
  3. 锐龙cpu能装linux吗,不知道这个,别说你会用锐龙处理器!干货经验分享!
  4. 笔记本电脑睡眠耗电及唤醒设置
  5. mac电脑之不用鼠标、解放鼠标
  6. 网络编程之socket
  7. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
  8. a pom xml file already exists in the destination folder
  9. 证券公司网上股票开户流程有哪些?炒股佣金低至多少?
  10. Python - 一种一次性导出或修改所有类对象属性与值的方法