文章目录

  • drop table
  • truncate (table)
  • delete from
  • 三种方式的区别
  • 用法总结

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删除表的三种方式相关推荐

  1. mysql表删除回滚_MySQL删除表的三种方式(小结)

    drop table drop 是直接删除表信息,速度最快,但是无法找回数据 例如删除 user 表: drop table user; truncate (table) truncate 是删除表数 ...

  2. mysql数据库删除数据的三种方式:

    mysql数据库删除数据的三种方式: delete from table where 直接删除表中的某一行数据,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作.所以delete相 ...

  3. mysql复制表的几种方式

    mysql复制表的几种方式 所描述的方法还请实际测试一下再使用. 1.复制表结构及数据到新表 CREATE TABLE 新表SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都 ...

  4. 引入CSS样式表的三种方式

    引入CSS样式表的三种方式 行内样式 通过标签的style属性来设置元素的样式,其基本语法格式如下: <h1 style="color:red;">style属性的应用 ...

  5. MySQL 删除表的几种情况:

    MySQL 删除表的几种情况: 1.drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM; 2.truncate table ...

  6. mysql复制表的两种方式

    mysql复制表的两种方式. 第一.只复制表结构到新表 create table 新表 select * from 旧表 where 1=2 或者 create table 新表 like 旧表 第二 ...

  7. 关于mysql存取图片的三种方式(含源码示例)

    最近在做小程序的后台,要求将小程序用户以upload方法上传的图片保存到mysql数据库中. 然后机缘巧合三种方式都试了,所以专门整理出来分享给大家.可能有的地方说的不太对,欢迎大家帮纠正. ==== ...

  8. Hive--临时表的三种方式

    一.临时数据方案 1.with as 1.1 使用demo with t1 as (     select         imei         ,src_pkg         ,src_typ ...

  9. 细说 MySQL 创建表的三种方法

    文章目录 CREATE TABLE CREATE TABLE ... LIKE CREATE TABLE ... SELECT 总结 大家好!我是只谈技术不剪发的 Tony 老师. SQL 标准使用 ...

最新文章

  1. 自动驾驶定位技术-粒子滤波实践
  2. 外企员工职场跃迁:他们将目光转向杭州 转向云计算
  3. tapable源码分析
  4. HTAP数据库 PostgreSQL 场景与性能测试之 28 - (OLTP) 高并发点更新
  5. 应用程序对象正在关闭_Windows核心编程-内核对象
  6. 解析:区块链的本质是伴随信息社会产生的一种新型生产关系
  7. RCE 0day影响数万台QNAP SOHO NAS 设备
  8. 从输入url到页面(二):TCP/IP 与 http协议
  9. java中程序定义book类_Java基础_0302:类和对象
  10. 中兴B860 AV2.1 S905L刷入armbian并启用docker且使用Portainer汉化版控制面板
  11. 青花瓷抓HTTPS数据
  12. ARM嵌入式系统开发指南-设计和优化系统软件(译作连载)
  13. C#语言与Java语言程序的比较[转自chinaitlab]
  14. 时间管理表 - 《月总结计划表》
  15. 炫酷的时间样式HTML,js动态炫酷数字时钟
  16. 集成 React Native 到现有Android项目
  17. 年底个人安全注意事项
  18. HTML字体颜色对照表
  19. 什么是亚马逊强关联,亚马逊账号关联详解
  20. 删除外键的sql语句

热门文章

  1. 高德地图 poi 搜索
  2. 智能客服工单系统与工单管理系统的区别
  3. idea一直indexing.........
  4. Parallels Desktop 网络初始化失败
  5. 苹果手机扫描文件并转换格式,怎么把扫描文件转换成文字,扫描出来的文件格式换个可以复制的文字
  6. python使用爬虫写一个自己的翻译器(带图像界面)
  7. 鲍春健:从“走进客户”奔向“成为客户”
  8. 【论文阅读】UNet-2022: Exploring Dynamics in Non-isomorphic Architecture
  9. Verilog语法+:的说明
  10. 【C++学习笔记】函数返回和函数重载