网站大量收购独家精品文档,联系QQ:2885784924

MySQL数据库应用项目式教程课件:创建并使用事务.pptx

MySQL数据库应用项目式教程课件:创建并使用事务.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档