## 手动事务
手动事务:不管是开始还是过程还是结束都需要用户(程序员),手动的发送事务操作指令来实现.
#### 手动事务对应的命令:
1. start transaction; //开启事务:从这条语句开始,后面的所有语句都不会直接写入到数据表(保存在事务日志中).
2. 事务处理:多个写指令构成.
3. 事务提交:commit/rollback,到这个时候所有的事务才算结束.
#### 开启事务
语法 :
~~~
start transaction;
~~~
#### 执行事务
将多个连续的但是是一个整体的SQL指令,逐一执行. 正常操作SQL指令即可.
#### 提交事务
* 确认提交:commit,数据写到数据表(清空).
~~~
commit;
~~~
* 回滚操作:rollback,所有数据无效并清空.
~~~
rollback;
~~~
#### 回滚点
savepoint,当有一系列事务操作时,而其中的步骤如果成功了,没有必要重新来过,可以在某个点(成功),设置一个记号(回滚点),然后如果后面有失败,那么可以回到这个记号位置。
1. 增加回滚点 : savepoint 回滚点名字; (字母数字和下划线构成).
~~~
savepoint 回滚点名称;
~~~
2. 回到回滚点:rollback to 回滚点名字; (那个记号(回滚点)之后的所有操作没有了).
~~~
rollback to 回滚点名称;
~~~
3. 注意:在一个事务处理中,如果有很多个步骤,那么可以设置多个回滚点。但是如果回到了前面的回滚点,后面的回滚点就失效;
- 数据库介绍
- 数据库基本概念
- SQL介绍
- MySQL服务端架构
- 库操作
- 表操作
- 字段类型
- 整数类型
- 小数类型
- 字符串类型
- 日期/时间类型
- json类型
- 字段属性
- Null
- 默认值
- 列描述
- 主键
- 自动增长
- 唯一键
- 数据库基础操作
- 增
- 删
- 改
- 查
- 运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- in运算符
- is运算符
- like运算符
- 高级查询
- 联合查询
- 连接查询
- 交叉连接
- 内连接
- 外连接
- Using关键字
- 子查询
- 标量子查询
- 列子查询
- 行子查询
- 表子查询
- exists子查询
- 子查询特定关键字
- 用户权限管理
- 用户管理
- 权限管理
- 外键
- 外键操作
- 外键基本要求
- 约束
- 视图
- 事务安全
- 自动事务
- 手动事务
- 事务特点
- 变量
- 系统变量
- 会话变量
- 局部变量
- 流程结构
- if分支
- while循环
- 函数
- 内置函数
- 字符串函数
- 时间函数
- 数学函数
- 其他函数
- 存储过程
- 与函数的区别
- 存储过程操作
- 存储过程的形参类型
- 触发器
- 触发器概念
- 触发器操作