目录
一、事务的定义
访问、操作数据库数据的行为
二、事务的分类
分为隐式事务、显示事务
(1)隐式事务
没有明显的开启和结束的标记,比如
【DDL】CREAE、DROP、ALTER;
【DCL】GRANT、REVOKE;
【DQL和DML】select、insert、update、delete
语句执行时默认就是一条事务
(2)显示事务
具有明显的开启和结束的标记,比如需要2条update语句合并为一个事务的时候,就需要把这2条sql设置为一个显示事务
//需要注意的是开启显示事务的前提是要设置自动提交功能为禁用(sql语句:set autocommit=0;)
设置显示事务步骤:
1.开启事务
set autocommit=0;//关闭自动提交
show variable like 'autocommit'; //查看自动提交是否关闭
- mysql语法:
start transaction;
- sqlserver语法:
begin transaction;
2.执行事务
【DDL、DCL、DQL、DML】sql语句
3.设置保存点
savepoint 保存点名字
4.回滚到保存点
rollback to 保存点;
5.结束事务
commit; //提交事务
或者
rollback; //回滚事务并结束