活动地址:CSDN21天学习挑战赛
前置知识点:DDL , DML ,DQL ,DCL
DDL:表的创建,修改,删除,更新
DML:数据的增删改
DCL:增删改用户,增改用户的权限
DQL: 对数据进行查询
一.什么是隐性事务
隐性事务含义
:当我们开启一个事务之后,需要commit或者rollback来结束一个事务,但是有时候,一些操作会自动帮我们提交事务,而这就叫做隐性事务
导致隐性事务:
1.所有的DDL: 当你在执行 DDL 语句前,事务就已经提交 了。这就意味着带有 DDL 语句的事务将来没有办法 rollback。
2.所有的DCL: 当然,除了 GRANT 和 REVOKE 之外,其他的创建、更新或者删除用户的操作也会导致事务隐式提交。
主要有:
- REATE USER…
- DROP USER…
- ALTER USER…
- SET PASSWORD…
3.新事务的开启:如果一个事务还没提交,你又开启了一个新的事务,那么此时前一个事务也会隐式提交。
4.各种锁操作: 给表上锁、解锁也会导致事务隐式提交
5.从机的操作: 我们在从机上执行的一些操作如 start slave 、 stop slave 、 reset slave 以及 change master to 等语句也会隐式提交事务。
6.其他表操作: 其他的一下操作如刷新权限(flush privileges)、优化表(optimize table)、修复表(repair table) 等操作,也会导致事务的隐式提交