用法:

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

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

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

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

1.  drop table tb;

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

drop table user;

2.  truncate (table) tb;

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

TRUNCATE TABLE user;

3. 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)

---------------------

作者:zjtMeng

来源:CSDN

原文:https://blog.csdn.net/zjt980452483/article/details/82823621

版权声明:本文为博主原创文章,转载请附上博文链接!

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

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

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

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

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

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

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

  4. python怎么数据归一化_python数据归一化及三种方法详解

    数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可 ...

  5. mysql double 转 字符串_没想到!在MySQL数据库中的数据有这三种类型!

    MySQL数据库是一个或多个数据列构成二维表,它的每一种数据列都有特定类型,而类型决定MySQL是怎么看待该列数据,如果把整型数值存放到字符类型的列中,MySQL则会把它当成字符串来处理. MySQL ...

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

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

  7. mysql创建销售表_MySQL创建数据表(CREATE TABLE语句)

    在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...

  8. c 控制mysql数据导出_MySql数据库导入导出的三种方式

    第一种: 使用mysql自带的Workbench可视化工具进行操作,如图: 选择好以后按  start Export 选择好以后按  start import 第二种: 使用Navicat 右键点击转 ...

  9. perl mysql dml_MySQL Connector执行SQL语句的三种方式

    描述 当我们需要在Java程序中与数据库进行交互,可能首先想到的是使用某个ORM框架,因为ORM框架封装了一些实现细节,在使用上非常方便,并且一定程度上可以提升代码稳定性. 在ORM框架中,都会依赖M ...

最新文章

  1. 可怕!公司部署了一个东西,悄悄盯着你
  2. 《Redis官方文档》用Redis构建分布式锁(悲观锁)
  3. 编写图形界面程序,显示一个红色反弹球的程序,当该球撞击Applet边框时,它应从边框弹回并以相反方向45°运动。
  4. linux运行java程序引用jar包,ubuntu下java 命令行引用jar包的方法
  5. linux shell编程if语句内判断参数详解【ZT】
  6. 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
  7. 涉密计算机多用户审批表,涉密计算机及信息系统安全策略
  8. 微信短视频小程序——视频封面,视频缩略图
  9. php获取文件名和后缀名
  10. Android surfaceview 自定义相机 拍照(闪光灯、前后摄像头)
  11. make出错,编译通不过的解决办法
  12. 数据可视化编程题练习
  13. 科普--电脑显示的硬盘容量为什么比标称的要小?
  14. 网吧组网新趋势:双光纤接入+千兆到桌面(转)
  15. 棒棒糖球球机器人_球球大作战刷棒棒糖
  16. 基于jquery的简单分页实现
  17. WD西部数据硬盘数据丢失了免费恢复方法
  18. 小红书和达人合作步骤是什么?对接达人合作流程分享
  19. GPS中经纬度的十进制和六十进制的转换
  20. 前端html页面如何结合后端,前端开发与后台交互机制

热门文章

  1. 2021年大数据Flink(十六):流批一体API Connectors ​​​​​​​​​​​​​​Redis
  2. java多线程消息队列_java多线程消息队列的实现
  3. TypeError(“cannot concatenate ‘str‘ and ‘instancemethod‘ objects“,)
  4. App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW int
  5. ERROR: Failed to resolve: com.android.databinding:library:3.4.2
  6. Rendering Problems Exception raised during rendering:
  7. redis的set()方法参数
  8. Vim 命令、操作、快捷键全集
  9. Maven的setting.xml配置文件详解(中文)
  10. 计算机软件属于输入还是输出,计算机基本输入输出系统是什么意思(基本输入输出系统简介)...