MySQL(十六)TCL(事务控制语言)

一、含义

事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行

二、特点(ACID)

A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行

C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态

I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的

D 持久性:一个事务一旦提交了,则永久的持久化到本地

三、事务的使用步骤 ★

了解:

隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、update、delete

显式事务:具有明显的开启和结束

使用显式事务:

①开启事务

set autocommit=0;

start transaction;#可以省略

②编写一组逻辑sql语句

注意:sql语句支持的是insert、update、delete

设置回滚点:

savepoint 回滚点名;

③结束事务

提交:commit;

回滚:rollback;

回滚到指定的地方:rollback to 回滚点名;

四、并发事务

1、事务的并发问题是如何发生的?

多个事务同时操作同一个数据库的相同数据时

2、并发问题都有哪些?

脏读:一个事务读取了其他事务还没有提交的数据,读到的是其他事务“更新”的数据

不可重复读:一个事务多次读取,结果不一样

幻读:一个事务读取了其他事务还没有提交的数据,只是读到的是 其他事务“插入”的数据

3、如何解决并发问题

通过设置隔离级别来解决并发问题

4、隔离级别

mysql中默认第三个隔离级别repeatable read

oracle中默认第二个隔离级别read committed

六、实践

(1)查看隔离级别

select @@tx_isolation;

(2)设置隔离级别

set session|global transaction isolation level 隔离级别;

(3)事务的使用步骤

(4)演示savepoint 的使用

(5)

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2018-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沃趣科技

MySQL并发复制系列一

MySQL binlog导致二阶段提交 ? ? 二阶段详解 ? 二阶段导致事务无法并发执行 ? ? ? 使用Binlog Group Commit重新开启...

3506
来自专栏顶级程序员

几张趣图助你理解HTTP状态码~

HTTP状态码(图一): ? 注释: 301—永久移动。被请求的资源已被永久移动位置; 302—请求的资源现在临时从不同的 URI 响应请求; 305—使...

3918
来自专栏我是攻城师

ElasticSearch里面的路由功能介绍

2927
来自专栏性能与架构

JS模块化开发的价值

非模块化方式开发的痛苦 (1)命名冲突 起初,我们定义了一个通用功能的JS文件,例如 utils.js(其中有一个 each 函数),谁需要谁调用即可 但随着项...

2624
来自专栏性能与架构

页面优化 - 使用cookie-free提高效率

在Yslow等页面优化建议中常会看到一个指标“Use cookie-free domains” 原因 当浏览器请求一个静态图片时,也会一并发送此域名的Cooki...

3067
来自专栏Java技术栈

两张趣图助你理解 HTTP 状态码!

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。

663
来自专栏晓晨的专栏

IdentityServer4实战 - 谈谈 JWT Token 的安全策略

众所周知,IdentityServer4 默认支持两种类型的 Token,一种是 Reference Token,一种是 JWT Token 。前者的特点是 T...

922
来自专栏小程序·云开发官方专栏

关于小程序的基础库

原文链接:https://godbasin.github.io/2018/09/23/wxapp-basic-lib/

892
来自专栏微服务生态

实现缓存最终一致性的两种方案

问题点:如果更新Redis失败,同时在将数据发到MQ之前的时间,应用重启了,这时候MQ就没有需要更新的数据,如果Redis对所有数据没有设置过期时间,同时在读多...

601
来自专栏后端技术探索

分布式系统一致性问题解决实战

商户提交表单数据至旺铺(deco项目,以下皆称为deco),deco需要接入poi系统进行装修内容的人工审核,详细流程见下图。

672

扫码关注云+社区