MySQL:drop、delete与truncate区别

一、用法不同

1、drop(丢弃数据): drop table 表名 ,直接将表都删除掉,在删除表的时候使用。

2、truncate (清空数据) : truncate table 表名 ,只删除表中的数据,再插入数据的时候自增长 id 又从 1 开始,在清空表中数据的时候使用。

3、delete(删除数据) : delete from 表名 where 列名=值,删除某一行的数据,如果不加 where 子句和truncate table 表名作用类似。

truncate 和不带 where 子句的 delete、以及 drop 都会删除表内的数据,但是 truncate 和 delete 只删除数据不删除表的结构(定义),执行 drop 语句,此表的结构也会删除,也就是执行 drop 之后对应的表不复存在。

二、属于不同的数据库语言

truncate 和 drop 属于 DDL(数据定义语言)语句,操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。而 delete 语句是 DML (数据库操作语言)语句,这个操作会放到 rollback segement 中,事务提交之后才生效。

DML 语句和 DDL 语句区别:
(1)DML 是数据库操作语言(Data Manipulation Language)的缩写,是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作。
(2)DDL (Data Definition Language)是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。它和 DML 语言的最大区别是DML 只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更不会涉及到其他对象。DDL语句更多的被数据库管理员(DBA)所使用,一般的开发人员很少使用。
补充:由于select不会对表进行破坏,所以有的地方也会把select单独区分开叫做数据库查询语言DQL(Data Query Language)

三、执行速度不同

一般来说:drop > truncate > delete。

1、delete命令执行的时候会产生数据库的binlog日志,而日志记录是需要消耗时间的,但是也有个好处方便数据回滚恢复。

2、truncate命令执行的时候不会产生数据库日志,因此比delete要快。除此之外,还会把表的自增值重置和索引恢复到初始大小等。

3、drop命令会把表占用的空间全部释放掉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java LeetCode篇-深入了解二叉树的经典解法(多种方式实现:构造二叉树)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 从前序与中序遍历序列来构造二叉树 1.1 实现从前序与中序遍历序列来构造二叉树思路 1.2 代码实现从前序与中序遍历序列来构造二叉树 2.0 从中序与后序遍历序…

计算目标检测和语义分割的PR

需求描述 实际工作中,相比于mAP项目更加关心的是特定阈值下的precision和recall结果;由于本次的GT中除了目标框之外还存在多边形标注,为此,计算IoU的方式从框与框之间变成了mask之间; 本文的代码适用于MMDetection下的…

Java Web 学习之路(2) —— 概念、SpringBoot + MyBatis(controller+service+mapper)开发流程与过程梳理

文章目录 前言1. 常见的一些概念1.1 POJO(Plain Ordinary Java Object 简单Java对象)1.2 DAO和Mapper 2. Java的三层架构2.1 包的层级结构2.2 交互层 controller(用户界面、网页)jsp文件2.3 业务处理层 service2.4 Mapper层 3. 注…

如何同步fork项目原仓库的更新

最简单粗暴的方法:把原来fork的仓库删了重新fork(嘿嘿不过这显然是不优雅的) 那我们该怎么同步更新呢? 如何在 Github 网页端同步更新? 进入你自己的 fork 过来的仓库。点击 “Pull requests” ,如何点击…

2024 年甘肃省职业院校技能大赛信息安全管理与评估赛项规程

2024 年甘肃省职业院校技能大赛高职学生组电子与信息大类信息安全管理与评估赛项规程 一、赛项名称 赛项名称:信息安全管理与评估 赛项类别:团体赛 赛项归属:电子与信息大类 二、竞赛目的 极安云科专注技能竞赛,包含网络建设…

Python基础——正则匹配中高阶用法

1.正则使用变量匹配re.escape() re.escape() 是一个用于转义正则表达式中特殊字符的函数。当我们需要使用变量构建正则表达式模式时,为了避免特殊字符对模式的解析产生影响,我们可以使用 re.escape() 函数来自动转义这些特殊字符。 例如,如…

微信小程序css实现的联系客服动画样式

一 、效果 二、代码 wxml <view class"customer-service"><button class"btn" open-type"contact"></button><image class"pic" src"https://ts4.cn.mm.bing.net/th?idOIP-C.3SGSiRPuOU9uH5VNVOMPwgHaHa…

序列的Z变换(信号的频域分析)

1. 关于Z变换 2. 等比级数求和 3. 特殊序列的Z变换 4. 因果序列/系统收敛域的特点 5. 例题

navigationBar顶部导航栏,兼容适配所有机型(附完整案例)

思路 隐藏原生样式获取胶囊按钮、状态栏相关数据以供后续计算根据不同机型计算出该机型的导航栏高度,进行适配编写为导航栏公共组件使用组件1. 隐藏原生样式 全局设置 "window": {"navigationStyle": "custom" }单个页面设置 {"navigat…

免费的AI文案生成器有哪些?AI文案生成器排行榜

在当今数字化的时代&#xff0c;内容创作已成为许多行业不可或缺的一部分。为了满足日益增长的创作需求&#xff0c;越来越多的人开始寻找能够提高效率、同时保持原创性的解决方案。本文将专心分享一些优质的AI文案生成器。 AI文案生成器的需求 内容创作已经不再是传统媒体和市…

高项备考葵花宝典-项目进度管理输入、输出、工具和技术(上,很详细考试必过)

项目进度管理的目标是使项目按时完成。有效的进度管理是项目管理成功的关键之一&#xff0c;进度问题在项目生命周期内引起的冲突最多。 小型项目中&#xff0c;定义活动、排列活动顺序、估算活动持续时间及制定进度模型形成进度计划等过程的联系非常密切&#xff0c;可以视为一…

C语言基础

常量和常量表达式的区别 #define N 4;又是常量&#xff0c;又是常量表达式&#xff0c;其在编译期预处理阶段就会直接替换 const int M 5;只是常量&#xff0c;不是常量表达式 &#xff0c;其是存储在一块内存区域之内的&#xff0c;但是存储的值不能改变 常量表达式&#xff…

【USB、串口、COM口、TTL、RS-232、RS-485区别详解】

USB&#xff0c;串口&#xff0c;COM口&#xff0c;TTL&#xff0c;RS-232&#xff0c;RS-485区别详解 1. USB&#xff0c;串口&#xff0c;COM口&#xff0c;TTL&#xff0c;RS-232&#xff0c;RS-485区别详解2 USB转TTL2 RS-232转TTL3 USB4 UART5 STM32串口异步通讯需要定义的…

iOS——定位与地图

平时在写项目的时候可能会遇到需要使用定位服务的地方&#xff0c;比如说获取位置和导航等。因此这里我会使用OC自带的库以及苹果系统的地图来获取定位以及显示在地图上。 开始前的设置 在获取定位前&#xff0c;需要在项目文件的info中添加两个关键字&#xff0c;用于向用户…

从零开始的C++(二十一)

C11 1.列表初始化&#xff1a; //允许以下代码正确运行int a[]{1,2,3};//效果与int a[]{1,2,3}一致 即允许省略等于号。同时&#xff0c;允许用花括号对所有自定义类型和内置类型进行初始化&#xff0c;而非以前花括号只能对数组进行初始化。利用花括号对自定义类型初始化时…

LeetCode刷题--- 求根节点到叶节点数字之和

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏&#xff1a;http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言&#xff1a;这个专栏主要讲述递归递归、搜索与回溯算法&#xff0c;所以下面题目主要也是这些算法做的 我讲述…

【ITK库学习】使用itk库进行图像滤波ImageFilter:邻域滤波

目录 1、itkMeanImageFilter 均值滤波器2、itkMedianImageFilter 中值滤波器3、itkBinaryMedianImageFilter 二值中值滤波器4、扩展itkNeighborhood5、扩展itkNeighborhoodIterator6、扩展itkNeighborhoodOperator 领域滤波是一种信号处理方法&#xff0c;用于去除信号中的噪声…

★560. 和为 K 的子数组(自己做出来了)

560. 和为 K 的子数组 前缀和的知识。 如果要求i~j下标之间的元素和&#xff0c;用前缀和的话&#xff0c;应该是b[j] - b[i-1]&#xff0c;i处的值也应该包括。 所以这个题&#xff0c;前缀和数组就要比原数组整体向后平移一个单元格&#xff0c;不然在求0~n的和的时候没法取…

在python中安装库,会有conda安装,也会有pip安装,conda与pip的区别是什么?

文章目录 一、Conda是什么&#xff1f;二、pip是什么&#xff1f;三、pip与conda的区别&#xff1a;总结 一、Conda是什么&#xff1f; Conda是一个开源的包管理系统&#xff0c;它是Anaconda公司为Python和其他编程语言开发的。它主要用于数据科学和机器学习领域&#xff0c;…

【Vue】日常错误总结(持续更新)

日常遇到的小问题汇总, 内容小篇幅少的就全放这里了, 内容多的会在Vue专栏单独分享~ 目录 【Q】 el-form-item值为 null 或 undefined显示““ 【Q】dialog内组件数据刷新总是延迟慢一拍 问题背景描述 解决方案 代码简单模拟 JS 【Q】el-input 不能输入的解决办法 方法…