孔祥盛mysql数据库基础与实例_MySQL数据库基础与实例教程 工业和信息化普通高等教育“十二五”规划教材 教学课件 孔祥盛 MySQL数据库基础与实例教程第9章.pdf...

本文深入探讨了MySQL数据库中的事务和锁机制,强调了它们在确保数据一致性和并发性中的重要性。通过实例展示了如何在‘选课系统’中应用ACID特性,解释了事务的原子性以及如何关闭自动提交、进行回滚和提交操作。同时,提供了上机操作任务以加深理解。
摘要由CSDN通过智能技术生成

MySQL数据库基础与实例教程

事务机制和锁机制

孔祥盛

内容一览

本章探讨了数据库中

事务与锁机制的必要性, 1 事务机制

讲解了如何在数据库中

使用事务与锁机制实现 2 锁机制

数据库的一致性以及并

发性,并结合“选课系统” 3 事务的ACID特性

讲解事务与锁机制在该

系统中的应用。 4 事务与锁机制注意事项

9.1 事务机制

事务通常包含一系列更新操作,这些更新操作是

一个不可分割的逻辑工作单元。如果事务成功执

行,那么该事务中所有的更新操作都会成功执行、

并将执行结果提交到数据库文件中,成为数据库

永久的组成部分。如果事务中某条更新操作执行

失败,那么事务中的所有操作均被撤销。

9.1 事务机制

简言之:事务中的 1 事务的必要性

更新操作要么都执 2 关闭MySQL自动提交

行,要么都不执行,

这个特征叫做事务 3 回滚

的原子性。

4 提交

5 事务

9.1 事务机制

简言之:事务中的

更新操作要么都执 6 保存点

行,要么都不执行,

这个特征叫做事务 7 “选课系统”中的事务

的原子性。

9.1.1 事务机制的必要性

对于银行系统而言,转账业务是银行最基本

的、且最常用的业务,有必要将转账业务封

装成存储过程,调用该存储过程后即可实现

两个银行账户间的转账。

任务布置1:上机操作,完成本书场景描述1

的任务要求,理解事务的必要性。

9.1.2 关闭MySQL 自动提交

关闭自动提交的方法有两种:一种是显示地

关闭自动提交,一种是隐式地关闭自动提交。

方法一:显示地关闭自动提交

使用MySQL命令“set autocommit=0;”,可

以显示地关闭MySQL 自动提交。

9.1.2 关闭MySQL 自动提交

方法二:隐式地关闭自动提交

使用MySQL命令“start transaction;”可以

隐式地关闭自动提交。隐式地关闭自动提交,

不会修改系统会话变量@@autocommitte的

值。

推荐使用方法二。

9.1.3 回滚

关闭MySQL 自动提交后,数据库开发人员可

以根据需要回滚(也叫撤销)更新操作。

任务布置2 :上机操作,完成本书场景描述2

以及场景描述3的任务要求,理解回滚的作用。

9.1.4 提交

MySQL 自动提交一旦关闭,数据库开发人员

需要“提交”更新语句,才能将更新结果提交

到数据库文件中,成为数据库永久的组成部

分。自动提交关闭后,MySQL的提交方式分

为显示地提交与隐式地提交。

9.1.4 提交

显示地提交:MySQL 自动提交关闭后,使用

MySQL命令“commit;”可以显示地提交更新

语句。

隐式地提交:MySQL 自动提交关闭后,使用

下面的MySQL语句,可以隐式地提交更新语

句。

9.1.4 提交

begin、set autocommit=1、

start transaction、rename table、

truncate table等语句;

数据定义(create 、alter 、drop )语句,例

如create database、create table、

create index、create function、

create procedure、alter table、

alter function、alter procedure、

drop database、drop table、

drop function、drop index、

drop procedure等语句;

9.1.4 提交

权限管理和账户管理语句:

例如grant、revoke

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值