MySQL:事务

目录

1.什么是事务?

2.为什么会有事务

3.事务的使用

3.1查看支持事务的存储引擎

3.2.事务的开始

3.3事务的提交

3.4查看当前事务是否为自动提交

3.5设置事务提交模式

3.6保存点的设置与事务的回滚

4.事务的隔离级别

4.1查看设置事务的隔离级别

4.1.1查看事务的隔离级别

4.1.2设置事务的隔离级别

4.2脏读 幻读 不可重复读

4.3读未提交

4.4读提交

4.5可重复读

4.6串行化


1.什么是事务?

在应用层一个·业务逻辑可能不是一条sql语句就可以搞定的,简单来说,转账就需要把转账者的钱减少,还要将收账人的钱增加,为了防止转账出现一半的情况,就将这两条sql打包成事务,一起执行。

MySQL是一个网络服务,这就注定MySQL会有大量的用户请求,就一定会引起并发问题,很多事务同时访问同一个表的数据一定会引起数据不一致的问题,所以事务不仅仅是简单的sql的集合,他还有4个特性用来解决数据不一致的问题。

1.原子性:事务要么执行,要么不执行,执行不成功事务会自动回滚到事务的开始。

2.隔离性:防止多个事务并发运行,引发的数据不一致。

有四种隔离级别 1.读未提交 2.读提交 3.可重复读 4.串行化。

3.持久性:事务提交之后,要持久化到磁盘。

4.一致性:无论事务执行成功与否,数据结果都是可预期的。

原子性,隔离性和持久性保证了数据的一致性。

2.为什么会有事务

首先事务是服务应用层的,事务简化了编程模型,事务解决了很多潜在的问题和并发问题,数据库解决的这个问题,程序员在上层就不需要再做了。

3.事务的使用

3.1查看支持事务的存储引擎

InnoDB是支持事务的,MyISAM是不支持事务的。

3.2.事务的开始

3.3事务的提交

事务一旦被提交就会被持久化的保存到磁盘中。

事务有两种提交方式

自动提交和手动提交,注意手动开启的事务只能手动提交。

手动提交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值