当前课程知识点:MySQL数据库案例教程 >  第5章 高级操作 >  5.3 事务与游标 >  5-3事务与游标视频

返回《MySQL数据库案例教程》慕课在线视频课程列表

5-3事务与游标视频在线视频

下一节:5-3事务与游标课件

返回《MySQL数据库案例教程》慕课在线视频列表

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语句即可

同学们需要理解记忆事务的特性

以及游标使用的步骤

本次课就讲到这里

谢谢

再见

MySQL数据库案例教程课程列表:

第1章 数据库基础知识

-1.1 数据库基础知识

--1.1 数据库基础知识视频

--1-1数据库基础知识课件

-1.2 MySQL的安装与运行

--1-2MySQL安装与运行视频

--1-2MySQL安装与运行课件

--1-2MySQL安装与运行实训

-第1章 测试

第2章 数据库和表的基本操作

-2.1 数据库的基本操作

--2-1数据库的基本操作视频

--2-1数据库的基本操作课件

--2-1数据库的基本操作实训

-2.2 表的基本操作

--2-2表的基本操作视频

--2-2表的基本操作课件

--2-2表的基本操作实训

-2.3 MySQL数据类型

--2-3MySQL数据类型视频

--2-3MySQL数据类型课件

--2-3MySQL数据类型实训

-2.4 约束设置

--2-4约束设置视频

--2-4约束设置课件

--2-4约束设置实训

-2.5 索引

--2-5索引视频

--2-5索引课件

--2-5索引实训

-第2章测试

第3章 记录操作

-3.1 插入记录

--3-1 插入记录视频

--3-1插入记录课件

--3-1插入记录实训

-3.2 修改记录

--3-2修改记录视频

--3-2修改记录实训

--3-2修改记录课件

-3.3 删除记录

--3.3删除记录

--3-3删除记录实训

--3-3删除记录课件

-第3章 测试

第4章 查询与视图

-4.1 select语句

--4.1select 语句视频

--4-1select语句课件

--4-1select语句实训

-4.2 单表查询

--4-2-1select子句

--4-2-2where子句

--4-2-3group子句

--4-2单表查询实训

-4.3 多表查询

--4-3多表查询视频

--4-3多表查询课件

--4-3多表查询实训

-4.4 子查询

--4-4子查询视频1

--4-4子查询视频2

--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章 高级操作

-5.1 函数

--5-1自定义函数视频

--5-1系统函数

--5-1函数课件

--5-1 函数实训

-5.2 流程控制语句

--5-2流程控制语句视频

--5-2流程控制课件

--5-2流程控制实训

-5.3 事务与游标

--5-3事务与游标视频

--5-3事务与游标课件

--5.3事务与游标实训

-5.4 存储过程

--5-4存储过程视频

--5-4存储过程课件

--5-4存储过程实训

-5.5 触发器

--5-5触发器视频

--5-5触发器课件

--5-5触发器实训

-第5章测试

第6章 备份与还原

-6.1 数据库备份与还原

--6-1数据库备份与还原 视频

--6-1数据库备份与还原 课件

--6-1数据库备份与还原 实训

-6.2 异构数据源导入导出

--6-2异构数据源导入导出 视频

--6-2异构数据源导入导出 课件

--6-2异构数据源导入导出 实训

-第6章测试

第7章 用户与权限

-7.1 用户管理

--7-1用户管理 视频

--7-1用户管理 课件

--7-1用户管理 实训

-7.2 权限管理

--7.2 权限管理 视频

--7.2 权限管理 课件

--7.2 权限管理 实训

-7.3 应用实例开发

--7-3应用实例开发 视频

--7-3应用实例开发 课件

--7-3应用实例开发 实训

-第7章测试

5-3事务与游标视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。