MySQL与TCL的故事,由你开始

在这里插入图片描述

TCL(事务控制语言)

含义

含义:一个或一组SQL语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行

事务的特点

特点:
在这里插入图片描述

事务的创建

**隐式事务:**事务没有明显的开启和结束的标记,比如:insert 、update、delete语句
delete from 表 where id =1 ,执行这样就算是一个事务

**显示事务:**事务具有明显的开启和结束的表记,前提:必须先设置自动提交功能为禁用

开启事务

步骤一: 开启事务
set autocommit =0;
start transaction ;可选的
步骤二: 编写事务种的sql语句(select insert update delete)
语句 1;
语句2;

步骤三: 结束事务
commit ;提交事务
rollback ; 回滚事务
在这里插入图片描述

演示步骤

在这里插入图片描述
commit 可换成Rollback 回滚

事务并发问题

  1. 三大问题
    脏读:对于两个事务T1,T2, T1读取了已经被T2更新但还没有被提交的字段,之后,若T2回滚,T1读取的内容就是临时且无效的
    不可重复对于两个事务T1,T2,T1读取了一个字段,然后T2更新了该字段,之后,T1再次读取同一个字段,值就不同了
    幻读::对于两个事务T1,T2,T1从一个表中读取了一个字段,然后T2在该表中插入了一些新的行.之后,如果T1再次读取同一个表,就会多出几行

  2. 数据库提供的4种隔离级别
    在这里插入图片描述

  3. 设置隔离的命令
    在这里插入图片描述

  4. savepoint的使用(保存点)
    在这里插入图片描述

在这里插入图片描述
快来护驾呀!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>