【重学 MySQL】四十八、DCL 中的 commit 和 rollback

75 篇文章 3 订阅
订阅专栏

在这里插入图片描述
在MySQL中,DCL(Data Control Language,数据控制语言)用于管理数据库用户和控制数据的访问权限。而commit和rollback并不是DCL的专属命令,但它们在与事务处理相关的上下文中非常重要。

commit的定义与作用

定义
commit是SQL中的一个事务控制命令,用于提交事务处理,即将自事务开始以来所做的所有更改永久保存到数据库中。

作用

  • 永久保存数据更改:一旦执行commit,事务中的所有更改都将被写入数据库,并且这些更改在之后无法被回滚。
  • 结束当前事务:commit操作标志着当前事务的结束,之后的所有操作都将被视为新的事务。

rollback的定义与作用

定义
rollback也是SQL中的一个事务控制命令,用于回滚事务处理,即撤销事务中的所有更改,并将数据库状态恢复到事务开始之前的状态。

作用

  • 撤销数据更改:rollback可以撤销自事务开始以来所做的所有更改,包括插入、更新和删除操作。
  • 保持数据一致性:在事务处理过程中,如果发生错误或需要取消某些操作,rollback可以确保数据库状态的一致性。

使用场景

  • commit的使用场景

    • 当事务中的所有操作都成功完成,并且需要将这些更改永久保存到数据库时,使用commit。
    • 在进行批量数据插入、更新或删除操作时,为了确保数据的一致性和完整性,可以在操作完成后使用commit。
  • rollback的使用场景

    • 当事务中的某个操作失败,或者由于某种原因需要取消整个事务时,使用rollback。
    • 在进行复杂的事务处理时,如果某个步骤出错,可以使用rollback将数据库状态恢复到事务开始之前的状态,以便重新尝试事务或进行其他处理。

相关示例

以下是一个简单的MySQL事务处理示例,展示了commit和rollback的使用:

-- 开始事务
START TRANSACTION;

-- 执行一些SQL操作
INSERT INTO employees (name, position) VALUES ('Alice', 'Engineer');
UPDATE employees SET position = 'Manager' WHERE name = 'Bob';

-- 检查操作是否成功
-- 假设这里有一个条件判断,如果某个操作失败,则回滚事务
-- 例如:IF some_error_condition THEN ROLLBACK; END IF;
-- 在实际的SQL脚本中,这通常通过编程语言(如Python、Java等)的逻辑控制来实现

-- 如果所有操作都成功,则提交事务
COMMIT;

-- 如果发生错误,则回滚事务(这里的回滚操作是假设性的,实际使用时需要在错误处理逻辑中执行)
-- ROLLBACK;

在上面的示例中,如果INSERTUPDATE操作都成功完成,并且没有发生任何错误,那么执行COMMIT会将这些更改永久保存到数据库中。如果某个操作失败或需要取消事务,则可以在错误处理逻辑中执行ROLLBACK,以撤销所有已执行的更改。

注意事项

  • 在使用事务处理时,请确保所有相关的数据库操作都在同一个事务块内执行,以便能够正确地使用commit和rollback来控制事务的提交和回滚。
  • 在执行commit或rollback之前,请确保已经正确地处理了所有可能的错误和异常情况,以避免数据的不一致性和丢失。
  • 对于涉及多个表或复杂业务逻辑的事务处理,建议在进行commit之前进行充分的测试和验证,以确保事务的正确性和可靠性。

综上所述,commit和rollback是MySQL中非常重要的事务控制命令,它们能够确保数据的一致性和完整性,并在事务处理过程中提供灵活的错误处理机制。

DDL 和 DML 的说明

  • DDL 的操作一旦执行,就不可回滚,指令 set autocommit = FALSE 对 DDL 失效
  • DML 的操作默认情况,一旦执行,也是不可回滚的。但是,如果在执行 DML 之前,执行了 set autocommit = FALSE,则执行的 DML 操作就可以实现回滚
16MySQLDCL COMMITROllBACK
gh_xiaohe的博客
04-23 361
😹 作者: gh-xiaohe 😻 gh-xiaohe的博客 😽 觉得博主文章写的不错的话,希望大家三连(✌关注,✌点赞,✌评论),多多支持一下!! 🚏 DCL COMMITROllBACK COMMITROllBACK和的相同点和不同点 MySQL8.0的新特性原子性
MySQL】第十四部分 DCLCOMMITROLLBACK
Trees__的博客
02-04 927
MySQL】第十四部分 DCLCOMMITROLLBACK
DCL COMMITROLLBACK的使用
uEven的博客
04-14 387
#DCL COMMITROLLBACK的使用 #COMMIT:提交数据.一旦执行,则数据就永远的保存在数据库,意味着数据不能回滚 #ROLLBACK:一旦执行,则可以实现数据的回滚.回滚到最近的一次COMMIT之后 #对比TRUNCATE TABLE 和DELETE FROM #相同点:都可以实现对表所有数据的删除,同时保留表结构 #不同点:TRUNCATE TABLE:一旦执行,表数据全部清除同时不能回滚 # DELETE FROM :一旦执行,表数据可以全部清除(不带WHERE),同时
DCL操作之COMMITROLLBACK [MySQL][数据库]
m0_57001006的博客
03-21 1154
DCL操作之COMMITROLLBACK操作 COMMIT : 提交数据 一旦执行了了commit操作之后,数据就被永久的保存在了数据库,意味着数据不可以回滚( 也就是不能rollback) ROLLBACK : 回滚数据 一旦执行了rollback操作之后,就可以实现数据的回滚,就会回滚到最近的一次commit之后 对于COMMITROLLBACK操作在DDL和DML的说明: DDL操作一旦执行就不可以回滚,指令set autocommit = false对DDL操作无效(因为在执行完D
DCL COMMITROLLBACK 的使用
qq_51938362的博客
10-20 842
DCLCOMMITROLLBACK的使用介绍,以及 TRUNCATE TABLE 和 DELETE FROM的对比
P52 DCLcommitrollback的使用
weixin_54671087的博客
11-30 400
4.DCL COMMITROLLBACK #7.DCL COMMITROLLBACK #commit:提交数据。一旦执行commit,则数据就被永久的保存在了数据库, #意味着数据不可以回滚 #rollback:回滚数据,一旦执行rollback,则可以实现数据的回滚 #8.对比TRUNCATE TABLE 和 DELETE FROM # 相同点:都可以实现对表所有数据的删除,同时保留表结构 # 不同点: # TRUNCATE TABLE:一旦执行此操作表数据全部清除,数据是不可以回滚
MySQL笔记】撤销删除—DCLCOMMITROLLBACK的使用
lijibai_的博客
05-21 2241
COMMIT:提交数据。一旦执行了 COMMIT,则数据就被永久的保存在了数据库,意味着数据不可以回滚
MySql(14)数据库DCL:COMMITROLLBACK
gtd54789的博客
07-15 236
链接https提取码ttst提取码ttst专栏mysql的导入导出,里面有教如何导入。
mysql rollback如何使用_MYSQLCOMMITROLLBACK使用讲解
weixin_34551601的博客
02-07 6828
MYSQLCOMMITROLLBACK从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类。1. DDL(Data Definition Language)数据定义语言,用于定义和管理 SQL数据库的所有对象的语言 ;CREATE---创建表ALTER---修改表DROP---删除表2. DML(Data Manipulation Language)数据操纵语言,SQL处理数据...
MySQL数据库语言之connect()对象及其方法commit()||rollback()||cursor()结构及用法
漫步量化
04-30 4886
MySQLdb.connect() Python对MySQL数据库的调用,可以采用MySQLdb模块通过建立连接MySQLdb.connect()完成。 # 建立连接,就是实例化一个connect()对象 con = MySQLdb.connect(host="localhost",user="root",passwd="123123",db="qiwsirtest",charset="u...
MySQL基础主要记录本人学习MySQL的一些经验总结,内容包括基本的DDL,DCL,DML语句,还有数据库引擎跟优.zip
02-22
本篇文章将根据标题和描述,深入探讨MySQL的基础知识,包括DDL、DCL和DML语句,以及数据库引擎的选择与优化。 1. DDL(Data Definition Language):DDL用于定义数据库的结构,如创建、修改或删除数据库表、视图...
数据库oracle的学习资料,也包含部分 mysql
04-23
2. **DCL(Data Control Language)**:数据控制语言,主要用于授权、数据回滚和提交。 - `GRANT`:授予用户权限。 - `REVOKE`:撤销用户的权限。 - `ROLLBACK`:事务回滚,取消尚未提交的更改。 - `COMMIT`:...
详解SQL四种语言:DDL DML DCL TCL
09-10
SQL语言是用于管理和操作关系型数据库的强大工具,它由四种主要的语句类型组成:DDL(Data Definition Language),DML(Data Manipulation Language),DCL(Data Control Language),以及TCL(Transaction ...
python如何提取MYSQL数据,并在完成数据处理后保存?
最新发布
梦在硅谷的博客
10-20 59
在现代数据驱动的世界,数据分析已成为企业决策的重要组成部分。Python作为一种强大的编程语言,因其丰富的库和简单的语法,广泛应用于数据分析、数据清洗和数据可视化等领域。本文将详细介绍如何使用Python提取MySQL数据库的数据,并进行数据分析、数据清洗、汇总等操作,最后将处理后的数据保存回数据库
#MySQL `SELECT` 语句执行流程详解
h123372868的博客
10-20 993
MySQL 的 `SELECT` 语句执行流程是一个复杂而高效的过程。它涉及多个组件的协作:连接器负责连接管理,解析器和预处理器确保语句合法,优化器生成最优执行计划,而执行器和存储引擎则负责实际的数据检索工作。理解这一流程可以帮助我们更好地优化查询,提升数据库性能。
MySQL 指定字段排序
学习,分享一直在路上
10-17 633
的主要优势在于其灵活性。无论是根据业务需求还是用户的偏好,都可以轻松实现自定义排序。例如,电商平台的产品分类或评论排序,均可以使用此方法。是 MySQL 一种灵活而强大的排序手段,能够满足复杂的排序需求。
【原创】java+springboot+mysql校园留言墙管理系统设计与实现
计算机软件编程,包含Java、Php、Python、前后端、数据库等实战项目
10-15 1088
使用java+springboot+mysql开发的留言墙管理系统网站,系统包含管理员、用户角色,功能如下:管理员:登录后台;用户管理(冻结解禁);留言管理;公告管理;关于我们;个人信息、密码修改。用户:注册、登录系统;首页,查看所有留言,发布留言,可以回复其他人的留言,可以按内容搜索留言;查看公告;用户还具备个人心功能,可以管理自己的留言,可以修改个人信息,上传头像,可以修改密码。系统界面美观大方,功能及其丰富,使用了springboot、bootstrap、jquery、ajax等技术栈。
windows mysql 8.0版本重置root密码
mengbing1990的博客
10-16 449
windows 下mysql 8.0重置root密码
dockermysql容器数据的备份(复制单个表)
qq_40348732的博客
10-16 511
Mysql在docker容器运行时,生成的.sql文件不会直接存储到虚机,而是bash,这可能是困扰大家的地方。搜了网上很多方法以及chatgpt的方法,要么比较难理解,要么指令不对。现通过不断尝试终于找到了最方便、易懂的方法。大概分四步:1、在原mysql容器的bash内部,生成.sql文件。2、将.sql文件从bash内部复制到虚机。3、将虚机的.sql文件复制到新mysql容器的bash。4、进入新mysql将.sql导入成表格。
写文章

热门文章

  • 大二一个学期学这么点内容,没有概念,只有实操 61279
  • VScode神仙插件,程序员必备 43475
  • IDEA快捷键 24007
  • Qt教程一 22410
  • IDEA初始化配置 12604

分类专栏

  • 重学C语言 付费 19篇
  • Java小题目 付费 117篇
  • Flask 框架 付费 38篇
  • 重学MySQL 75篇
  • JDBC 2篇
  • JavaWeb 2篇
  • Docker 5篇
  • 杂笔 1篇
  • C++编程之旅:从入门到精通 14篇
  • 学习 1篇
  • MyBatis 2篇
  • 前端 3篇
  • Java 项目 1篇
  • 谷粒商城 1篇
  • C/C++系列 Bug 1篇
  • Windows编程 1篇
  • 大数据 1篇
  • Java 面试题 110篇
  • Linux 之Ubuntu入门到精通 2篇
  • git 1篇
  • java 24篇
  • 数据结构和算法 6篇
  • MQ 1篇
  • 嵌入式 2篇
  • 常用操作 1篇
  • python 1篇
  • idea 4篇
  • maven 2篇
  • vscode 2篇
  • win11 3篇
  • Linux 命令 7篇
  • mysql 10篇
  • databases 9篇
  • eclipse 1篇
  • centOs 2篇
  • LeetCode
  • C/C++ 7篇
  • spring 1篇

最新评论

  • 【重学 MySQL】七十一、揭秘数据库魔法——深入探索并引入视图

    ##刘丽娜~~~: 性能:因为视图只是保存了SQL查询,而不是实际的数据,所以每次查询视图都会执行一次SQL查询,这可能会影响性能。因此,在创建视图时,需要权衡其带来的便利性和对性能的影响。 更新限制:并非所有的视图都支持更新操作。如果视图包含聚合函数、DISTINCT关键字或多个表,那么它通常是只读的。此外,即使视图是可更新的,对视图进行更新操作也可能受到基表约束和触发器等因素的影响。 命名唯一性:视图必须唯一命名,不可与别的视图或表重名。这有助于避免在查询时产生混淆和错误。

  • 【重学 MySQL】六十二、非空约束的使用

    Jasonakeke: 感谢关注

  • 【重学 MySQL】六十二、非空约束的使用

    凯子坚持C: 博主的博文写得真是太精彩了!每一篇都充满了独特的思考和深邃的见解,仿佛引领我们进入了一个全新的领域。博主的笔触细腻且富有感染力,让人在阅读的过程中不断被吸引,仿佛与博主一同经历了一场思想的盛宴。博主的博文不仅内容丰富,而且结构清晰,逻辑严密,读起来令人陶醉。博主真的是一个才华横溢的创作者,期待您未来更多精彩的作品!

  • 【重学 MySQL】四十六、创建表的方式

    小王毕业啦: 博主的这篇文章真是让我对 MySQL 创建表的方式有了全新的认识。文章中的细节描写非常到位,让我感受到了博主的深厚功底和对这个主题的深入理解。期待博主未来能够持续分享更多这样有价值的好文,同时也希望能够得到博主的指导,共同进步。非常感谢博主的分享和支持!

  • 【重学 MySQL】四十、SQL 语句执行过程

    ha_lydms: 文章干货满满!作者在阐述每个知识点时,都力求详尽且清晰,使得读者可以轻松理解并掌握。

大家在看

  • STM32--JQ8900语音模块
  • 论文 Python 实现WOA-CNN-BiGRU-Attention数据分类预测 64
  • 手环押金原路退回系统——足浴店——东方仙盟

最新文章

  • 【重学 MySQL】七十五、揭秘存储过程的分类与实战案例,让你的数据库操作更高效!
  • 【重学 MySQL】七十四、揭秘存储过程的强大功能与实战技巧
  • 【重学 MySQL】七十三、灵活操控视图数据,轻松掌握视图删除技巧
2024
10月 34篇
09月 48篇
08月 42篇
07月 9篇
06月 11篇
05月 6篇
04月 9篇
03月 2篇
01月 3篇
2023年14篇
2022年252篇
2021年23篇
2020年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jasonakeke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家广东主题商场美陈市场亳州制作玻璃钢雕塑商家厂家下城区玻璃钢雕塑私人定做南阳镇平玻璃钢西瓜雕塑保定室外玻璃钢雕塑山西玻璃钢抽象动物雕塑加工价格景观园林玻璃钢雕塑定制厂家福田玻璃钢卡通雕塑岩石玻璃钢雕塑3dmax 商场美陈教程节庆商场美陈有哪些阳泉玻璃钢人物雕塑浙江商场美陈供应河南季节性商场美陈新郑校园玻璃钢景观雕塑报价红色玻璃钢雕塑包括哪些太原玻璃钢智能雕塑日照景区玻璃钢雕塑定制吉林景观玻璃钢雕塑多少钱佛山玻璃钢动物雕塑销售北京户内玻璃钢雕塑定制桥头玻璃钢卡通雕塑德惠玻璃钢南瓜屋雕塑天筑玻璃钢雕塑价格商场圣诞美陈装饰公司石家庄玻璃钢雕塑生产厂家寒亭玻璃钢造型雕塑关于商场美陈的那些事信阳专业不锈钢玻璃钢雕塑河南郑州玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化