当前课程知识点:MySQL数据库案例教程 > 第5章 高级操作 > 5.3 事务与游标 > 5-3事务与游标视频
同学们好
我们今天继续学习第五章的内容
事务与游标
我们首先介绍事务与游标的概念
然后对其语法进行讲解
最后是案例分析与实践操作
我们首先思考一个过程
相信同学们对于银行转账这一过程
都有所了解
比如现在我要给你转账100钱
在这个过程中
应该是我的账户余额减去100元
同时呢你的账户余额在增加100元
这一增一减两个操作应该不可分割
不能出现我的账户减去100元
而你的账户没有增加100元这一情况
这一过程在MySQL中称为事务
事务呢是MySQL中一个最小的
不可再分的工作单元
通常一个事务对应是一个完整的业务
例如我们刚才说的银行转账这一业务
事务的作用包括一下几个方面
在 MySQL 中呢只有使用了 Innodb
数据库引擎这样的数据库
或着是表格才支持事务
事务的处理可以用来维护数据库的完整性
保证成批的 SQL 语句要么全部执行
要么全部不执行
事务呢用来管理
insert,update,delete 这三种语句
事务呢有四个比较突出的特性
首先原子性
它是事务的最小单位
不可再分
事务开始后所有的操作
要么全部完成
要么全部都不做
不能停滞在中间环节
第二个是一致性
一致性要求事务
所有的DML语句在操作时必须同时成功
或者同时失败
第三是隔离性
隔离性是指事务A和事务B之间具有隔离性
同一时间
只允许一个事务请求同一数据
不同的事务之间彼此没有干扰
比如A正在从一张信用卡中取钱
在A取钱的过程结束之前
B不能向这张信用卡中转账
最后一个是持久性
持久性是事务完成的保证
事务终结的标志
事务完成后
事务对数据库所有的更新
将被保存到数据库当中
不能回滚
与我们本章之前所学的内容不同
事务不是数据库对象
所以不能被创建
事务的使用
是按照事务的开始
事务的内容以及事务的提交
这一顺序来编写SQL语句
事务的开始的标志是start
transition或者begin
之后呢是用户自定义的事务的内容
有前面的内容我们知道
事务的内容呢
主要是由insert,update,delete
这三种语句组成
最后事务提交使用的是commit
或者是commit work,
当我们不想提交我们之前写的事务时
我们需要使用 roll back
或者是roll back work
来将前面所写的事务全部撤回
也就是说不对数据库中的任何数据进行修改
我们来看【案例1】
使用提交事务的方法
将下述数据录入到course表格当中
这个事务呢包含两条insert语句
我们按照开始一个事务
两条insert语句并使用commit提交事务
这样的顺序来编写SQL语句即可
我们来看具体操作
下面我们来看【案例2】
使用提交事务的方式
将下述数据录入course表格当中
但是呢在提交事务之前
回滚该事务
此事务包含一条insert语句
但与案例一不同的是
我们在任务编写完成之后
不能commit提交
而是使用rollback回滚该事务
我们来看具体操作
接下来我们简单介绍一下游标的概念
游标呢实际上是一种
能够从多条数据记录
它的结果集中每次提取一条数据的机制
游标有以下几方面的作用
首先游标被充当指针来使用
尽管呢游标能遍历结果中的所有数据行
但是它一次也只指向一行
第二呢
是游标它用于对查询数据库所返回的值
进行遍历
以便进行相应的操作
游标的使用过程包含以下五个部分
首先使用declare 声明游标
将某个查询结果放入游标当中
此时
游标中保存了用户自定义的查询结果
在使用游标前
我们需要使用open来打开游标
接下来使用fetch语句
一行一行的读取游标中所保存的查询结果
保存至用户自定义的变量当中
需要注意的是
变量的数量需要与游标中保存的数据列的
数量是一致的
然后是用户使用数据进行自定义操作
最后是关闭游标
通过这一过程
我们可以这样理解游标
在声明游标的时候
游标呢可以理解为一个特殊的变量
这个变量它保存的是一个查询结果的集合
而在读取游标保存的数据时呢
游标又充当了指针的作用
一行一行的读取保存的数据
我们来看案例三
创建一个表格score01
要求将信息工程学院所有学生的
高等数学成绩录入到表格当中
录入的数据包括学号以及成绩
根据要求呢
我们首先需要创建一个表格
这个表格包含两列
然后呢
我们需要查询信息工程学院所有学生的
高等数学的成绩
并使用游标保存查询结果
最后我们使用游标每次读取一行数据
并录入到我们刚刚创建的
score01这个表格当中
案例三呢作为本次课的作业
大家可以在课后自行练习
在本小节中
我们首先介绍了事务与游标的相关概念
及其作用
通过对事务与游标的语法的讲解
我们知道了事务与游标
和本章之前所讲解的内容不同
事务与游标不需要使用create创建
而直接按照其语法的顺序
编写相应的SQL语句即可
同学们需要理解记忆事务的特性
以及游标使用的步骤
本次课就讲到这里
谢谢
再见
-1.1 数据库基础知识
-1.2 MySQL的安装与运行
-第1章 测试
-2.1 数据库的基本操作
-2.2 表的基本操作
-2.3 MySQL数据类型
-2.4 约束设置
-2.5 索引
--2-5索引视频
--2-5索引课件
--2-5索引实训
-第2章测试
-3.1 插入记录
-3.2 修改记录
-3.3 删除记录
--3.3删除记录
-第3章 测试
-4.1 select语句
-4.2 单表查询
-4.3 多表查询
-4.4 子查询
--4-4子查询课件
--4-4子查询实训
-4.5 外键
--4-5外键视频
--4-5外键课件
--4-5外键实训
-4.6 视图
--4-6视图视频1
--4-6视图视频2
--4-6视图课件
--4-6视图实训
-第4章测试
-5.1 函数
--5-1系统函数
--5-1函数课件
--5-1 函数实训
-5.2 流程控制语句
-5.3 事务与游标
-5.4 存储过程
-5.5 触发器
--5-5触发器视频
--5-5触发器课件
--5-5触发器实训
-第5章测试
-6.1 数据库备份与还原
-6.2 异构数据源导入导出
-第6章测试
-7.1 用户管理
-7.2 权限管理
-7.3 应用实例开发
-第7章测试