- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
创建并使用事务
7.5创建并使用事务在MySQL数据库中,当多个用户访问同一份数据时,一个用户在更改数据的过程中可能有其他用户同时发起更改请求,为了保证数据的更新从一个一致性状态变更为另一个一致性状态,这时必须引入事务的概念。在MySQL编程中事务编程已经成为不可缺少的一部分。它能保证数据库从一种一致性状态转换为另一种一致性状态。
7.5创建并使用事务事务就是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,你给朋友转1000元钱,按照正常的操作流程是你的账户减去1000元钱,朋友的账户增加1000元钱,本身这两个操作是完全独立的两次数据库更新操作,现在如果你的账户扣减1000元钱成功,但是你朋友的账户增加1000元失败,就会出现数据对不上的问题,此时就需要用到数据库中的事务,事务把这两个操作放到一个事务内执行,要么全部成功,要么全部失败,从而避免数据对不上的问题,这个问题解决了,这就是事务。1.事务的概念
7.5创建并使用事务(1)原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,要么成功,要么失败,是不存在中间状态的。(2)一致性(Consistency)一致性是指事务执行前后,数据从一个合法性状态变换到另一个合法性状态,这种状态是语义上的,而不是语法上的。(3)隔离性(Isolation)隔离性是指事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。2.事务的ACID特性
7.5创建并使用事务(4)持久性(Durability)持久性是指事务一旦提交,它对数据库中数据的改变就是永久性,接下来的其他操作和数据库故障不应该对其有任何影响。持久性是通过数据库重做日志来保证的,当我们通过事务对数据进行修改的时候,首先会将数据库的变换信息记录到重做日志中,然后再对数据库中对应的行进行修改。这样做的好处是,即使数据库系统崩溃,数据库重启后也能找到没有更新到数据库系统中的重做日志,重新执行,从而使事务具有持久性。2.事务的ACID特性
7.5创建并使用事务(1)关闭自动提交在MySQL的默认设置下,事务都是自动提交的,即执行任意一条更新语句后会马上执行COMMIT操作,提交到数据库中。3.事务控制语句SETAUTOCOMMIT={0|1};语法说明:当赋值为0时,关闭自动提交,当赋值为1时打开自动提交。(2)开始事务STARTTRANSACTION;语法说明:STARTTRANSACTION命令在开启事务的同时,将关闭自动提交。
7.5创建并使用事务(3)提交事务COMMIT[WORK];(4)设置保存点SAVEPOINT保存点名称;语法说明:用于在事务内设置保存点。(5)回滚事务ROLLBACK;|ROLLBACKTOSAVEPOINT保存点名称;语法说明:当条件回滚只影响事务的一部分时,事务不需要全部撤销已执行的操作,可以让事务回滚到指定位置,此时,需要在事务中设定保存点(SAVEPOINT)。保存点所在位置之前的事务语句不用回滚,即保存点之前的操作被视为有效的。
7.5创建并使用事务1.删除“student”表中所有数据,利用ROLLBACK来撤销此删除语句操作。【任务实施】(1)打开Navicat查询编辑器窗口。(2)在查询编辑器窗口输入以下SQL语句:STARTTRANSACTION;DELETEFROMstudent;ROLLBACK;执行以上语句后,打开student表,可以看到student表中数据并没有被删除,如下图所示。
7.5创建并使用事务
7.5创建并使用事务2.创建一个存储过程,该存储函数向student表中插入两条学生信息,并进行测试(1)打开Navicat查询编辑器窗口。(2)在查询编辑器窗口输入以下SQL语句并执行。CREATEPROCEDUREp_transaction_test()MODIFIESSQLDATABEGIN DECLARECONTINUEHANDLERFOR1265 BEGIN ROLLBACK; END;
7.5创建并使用事务 STARTTRANSACTION; INSERTINTOstudentVALUES王云,男,2004-03-31,信息工程系,22大数据1,17); INSERTINTOstudentVALUES李浩,男,2004-04-13,信息工程系,22大数据1,17岁); COMMIT;END;(3)执行调用存储过程语句,然后查看student表中信息,如下图所示。CALLp_t
您可能关注的文档
- MySQL数据库应用项目式教程课件:查看、删除索引.pptx
- MySQL数据库应用项目式教程课件:查看及删除触发器.pptx
- MySQL数据库应用项目式教程课件:查询的分组与汇总.pptx
- MySQL数据库应用项目式教程课件:初识MySQL.pptx
- MySQL数据库应用项目式教程课件:创建并调用存储函数.pptx
- MySQL数据库应用项目式教程课件:创建触发器.pptx
- MySQL数据库应用项目式教程课件:创建带参数的存储过程.pptx
- MySQL数据库应用项目式教程课件:创建数据表及其约束.pptx
- MySQL数据库应用项目式教程课件:创建数据库.pptx
- MySQL数据库应用项目式教程课件:创建索引.pptx
- 2024年陕西咸阳亨通电力(集团)有限公司供电服务业务部直聘用工招聘145人笔试参考题库附带答案详解 .docx
- 2024年中建四局土木工程有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年四川雅茶贸易有限公司公开招聘和考察聘用人员3人笔试参考题库附带答案详解 .docx
- 2024年中国烟草总公司辽宁省公司公开招聘拟录用人员(166人)笔试参考题库附带答案详解 .docx
- 2024江苏连云港中诚物业管理有限公司招聘工作人员1人笔试参考题库附带答案详解 .docx
- [毕节]2025年贵州毕节市引进人才649人笔试历年参考题库附带答案详解.docx
- 2024年度中国东航技术应用研发中心有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年福建省厦门盐业有限责任公司春季人才招聘1人笔试参考题库附带答案详解 .docx
- 2024年山东省环保发展集团绿能有限公司职业经理人招聘2人笔试参考题库附带答案详解 .docx
- 2024年安徽滁州郊源阳光电力维修工程有限责任公司招聘41人(第一批次)笔试参考题库附带答案详解 .docx
最近下载
- 九江润禾永修年产6KT有机硅新材料项目环境影响评价报告书.pdf VIP
- 新教科版五年级下册科学全册精编练习题一课一练(含答案).doc
- (原版)孔雀东南飞剧本.docx
- 《比例尺》复习课课件.ppt
- 王幼龙习题集答案.docx
- 人教PEP版(2024)三年级上册英语Unit 4 Plants around us 第一课时:A. Let’s talk & Let’s learn教学设计.docx
- 2025年日历表(A4纸一张可打印 含2025年放假调休时间).pdf
- 必威体育精装版手机摄影技巧(共24张PPT)精品课件.ppt
- 一种混合现实手术辅助系统及手术机器人.pdf VIP
- 人教版数学8年级下册全册教学课件(2023年春季新版).pptx
文档评论(0)