1、drop table

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

例如删除 user 表:

drop table user;

2、truncate table

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

例如删除 user 表:

truncate table user;

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

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

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

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

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

  3. Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity

    一.在xml 中设置按键的onClick 绑定的函数 新建一个工程 然后在相关的页面添加一个Button 运行一下 实际上,现在这个按键一,我们去运行的时候,他是没有任何的反馈的,我们按完它,他没有任 ...

  4. mysql创建关联表的方法_MySQL多表创建关联及操作

    外键 现在有两张表"分类表"和"商品表",为了表明商品属于哪个 类别,通常情况下,我们将在商品上添加一列,用来存放分类的cid信息,此列成为外键. 此时,分类表 ...

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

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

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

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

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

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

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

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

  9. MySQL删除表的三种方式

    文章目录 drop table truncate (table) delete from 三种方式的区别 用法总结 drop table drop 是直接删除表信息,速度最快,但是无法找回数据 例如删 ...

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

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

最新文章

  1. oracle中col 的用法,Oracle All
  2. ArrayList 与 LinkedList 底层实现
  3. 2020年中国餐饮配送机器人行业研究报告
  4. 【LeetCode】剑指 Offer 14. 剪绳子
  5. 计算机应用专业可以考教师资格证不,电大的大专学历可以考教师资格证吗?
  6. VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
  7. 虚函数、纯虚函数与抽象类(浅论)
  8. 如何在WORD中插入图片自动编号,并引用图号【每天一个小技巧】
  9. mysql脏读和幻读区别_数据库的脏读、不可重复读和幻读区别
  10. Redis复习记录(二):数据类型与基本操作
  11. cubase打开时,别的软件和网页无法正常播放视频。
  12. 因为计算机丢失user32.dll,Win7系统出现无法定位动态链接库user32.dll错误提示解决方法...
  13. 在程序中打开系统设置页
  14. 计算机网络收集职业生涯规划的原则和步骤,职业生涯规划的步骤及原则介绍
  15. 如何把删除的文件复原?恢复数据其实也不难
  16. PyCharm SyntaxError: Non-UTF-8 code starting with \xbb 处理
  17. 【FTP局域网配置共享文件】
  18. 云南省计算机b类等级考试试题,计算机(一级B类)云南省计算机一级考试题库
  19. Go语言自学系列 | golang函数的参数
  20. 阿里云计算型弹性裸金属服务器ebmc4云服务器配置性能详解

热门文章

  1. Linux vi 进去命令模式,Linux 下 vi/vim 文本编辑器详细命令使用方法,linux的vi/vim命令vi/vim命令模式,输入模式和末行模式...
  2. php万能表单制作教程,万能表单 · 极致CMS建站系统帮助文档 · 看云
  3. java 仓库管理_Java仓库管理系统(一)
  4. 显示器尺寸对照表_求解显示器屏幕尺寸对照表一般是多少?
  5. FFmpeg开发(十)——Qt 实现FFmpeg下载m3u8视频
  6. 如何编写python代码
  7. PHP后台数据处理及与web端进行数据交互
  8. ssh 免密配置、修改hadoop配置文件
  9. webstorm 初体验 - 主题色和编辑器配色 - 参考vscode
  10. GJB 软件测试计划(模板)