第13章事务和并发控制电子课件 MySQL数据库管理与应用中职 高三 高教版

2022-11-26
| 26页
| 168人阅读
| 30人下载
普通

内容正文:

第13章 事务和并发控制 主要内容 13.1 事务 13.2 并发控制 13.3 本章小结 13.1 事务 用户在执行某些复杂数据操作的过程中,经常需要通过一组有相互依赖关系的SQL语句,来执行多项并行业务逻辑或者程序,这就要求所有命令执行的同步性。 我们把这些有相互依赖关系的SQL语句称之为单元,整个单元作为一个整体是不可分割的,单元中的所有SQL语句要么同时操作成功,要么同时返回初始状态。在这种情况下,用户就需要优先考虑使用MySQL的事务处理。 13.1 事务 13.1.1 事务的概念 MySQL中的事务通常包含一系列更新操作(UPDATE、INSERT和DELETE等操作语句),这些更新操作是一个不可分割的逻辑工作单元,用来保证对数据库的正确修改和保持数据的完整性、一致性。 如果事务成功执行,那么该事务中所有更新操作都会成功执行,并将执行结果提交到数据库文件中,成为数据库永久的组成部分。如果事务中某个更新操作执行失败,那么事务中的所有更新操作均被撤销,所有影响到的数据将返回到事务开始之前的状态。 在数据库管理系统中,事务管理是非常有必要的,它是构成多用户使用数据库的基础。 13.1 事务 13.1.2 事务的ACID特性 每个事务的处理必须满足ACID原则,即原子性(A)、一致性(C)、隔离性(I)和持久性(D),我们称之为事务的特性或特征。 原子性(Atomicity):每个事务中的所有操作都被视为一个原子单元,对事务所进行的数据修改等操作只能是完全提交或者完全回滚。 一致性(C):所有的数据从一种一致性状态变更为另外一种一致性状态。 隔离性(I):每个事务中的操作语句所做的修改必须和其他事务所做的修改相隔离,而且事务的结果只有在它完全被执行时才能看到。 持久性(D):即使系统重启或者出现故障系统崩溃,一个提交的事务依然存在。 13.1 事务 13.1.3 MySQL的事务的处理语句 MySQL默认使用自动提交模式,即当一个会话开始时,自动提交功能是打开的,用户每执行一条SQL语句后,该语句对数据库的修改就被立即提交,永久保存在数据库里。 默认情况下,会话变量autocommit的值为ON,每个SQL语句都被当作一个事务执行提交操作。 【例13.1】查看会话变量autocommit。 在MySQL命令行客户端输入命令: SHOW VARIABLES LIKE 'autocommit’; SELECT @@autocommit; 13.1 事务 13.1.3 MySQL的事务的处理语句 在MySQL中,有两种方式可以关闭自动提交功能。 显式关闭自动提交功能 在当前会话中,使用SET语句修改会话变量autocommit的值来关闭当前会话的自动提交功能。 SET autocommit = 0; 隐式关闭自动提交功能 我们可以使用START TRANSACTION语句或者BEGIN [work]语句来显式地开启一个事务,这就意味着在该事务中关闭了自动提交功能。START TRANSACTION是标准的SQL语法格式,是MySQL官方推荐的开启事务的方法。 13.1 事务 13.1.3 MySQL的事务的处理语句 当事务中的SQL语句执行完毕,我们必须通过COMMIT语句来提交整个事务,或者通过ROLLBACK语句来回滚到事务开始之前的状态。 我们还可以在事务中使用SAVEPOINT point语句来设置一个保存点,也叫回退点,然后用ROLLBACK TO SAVEPOINT point语句回滚到保存点位置,从而达到部分语句回滚的目的。 13.1 事务 13.1.3 MySQL的事务的处理语句 【例13.2】演示事务中的部分回滚操作。 在MySQL命令行客户端输入命令: START TRANSACTION; INSERT INTO course_available VALUES('101','高等数学',30,70); SAVEPOINT savei; DELETE FROM course_available WHERE cname='宪法学'; ROLLBACK TO SAVEPOINT savei; 13.1 事务 13.1.4 MySQL的事务的隔离级别 每一个事务都有所谓的隔离级别,它定义了用户彼此之间隔离和交互的程度。 使用SET TRANSACITON语句可以设置事务的特征,包括设置事务隔离级别或者事务访问模式。语法格式: SET [GLOBAL|SESSION] TRANSACTION { ISOLATION LEVEL level | access_mode} 13.1 事务 13.1.4 MySQL的事务的隔离级

资源预览图

第13章事务和并发控制电子课件 MySQL数据库管理与应用中职 高三 高教版
1
第13章事务和并发控制电子课件 MySQL数据库管理与应用中职 高三 高教版
2
第13章事务和并发控制电子课件 MySQL数据库管理与应用中职 高三 高教版
3
第13章事务和并发控制电子课件 MySQL数据库管理与应用中职 高三 高教版
4
第13章事务和并发控制电子课件 MySQL数据库管理与应用中职 高三 高教版
5
第13章事务和并发控制电子课件 MySQL数据库管理与应用中职 高三 高教版
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。