mysql的事务和特性和隔离级别

mysql的事务
注意不开启mysql事务,数据库默认提交事务
关闭自动提交
start transaction;

insert into table_name(id,name,age) values (1,'zhangsan','123');

执行上边插入语句后你查询表是有数据的,如果执行rollback;数据就会回滚,
回滚事务

rollback;

执行上边插入语句后你查询表是有数据的,如果执行commit;数据就会提交,就会写入到磁盘上
提交事务

commit;

mysql事务四个特性
1、原子性
说明事务是最小的工作单元,不可再分;
2、一致性
所有事务要求,在同一个事务当中,所有操作必须同时成功,或者同时失败
3、隔离性
A事务和B事务之间具有一定的距离。
4、持久性
事务最终结束的一个保障,事务提交,就相当于将没有保存到硬盘上的数据保存到硬盘上。

mysql事务隔离级别
1、读未提交: read uncommitted; 级别最低 (没有提交就读到数据)
事务A可以读到事务B未提交的数据。
这种隔离级别出现的问题就是脏读现象(Dirty Read)
这种隔离级别一般都是理论上的,大多数的数据库隔离级别都是二档起步。
2、读已提交: read commit; (提交之后就读到数据)
事务A只能读到事务B提交之后的数据
这种就是解决了脏读现象
这种隔离级别存在不可重复读取数据
3、可重复读: repeatable read; (提交之后也读不到数据,永远读到的是刚开启事务的数据)
事务A开启之后,读到的数据3条,但是事务B把数据改了,事务A读到的数据还没有变化,这就是可重复读
可重复读存在的问题是可能出现数据幻影,不够真实
mysql默认隔离级别
4、序列化/串行化: serializable; 级别最高
这是最高隔离级别,效率最低,解决了所有的问题
这种隔离级别表示事务排队,不能并发
每一次读到的数据都是最真实的,并且效率也是最低的

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值