TCL事务控制语言

事务控制语言TCL

mysql默认情况为自动提交,若是要管理事务就必须设置手动提交,手动设置事务提交

set auto_committed : false

当事务需要提交时输入:

commit

当事务需要回滚时:

rollback

事务的ACID的特性

四大特性:

原子性: 表中的字段不可以在拆分, 比如150块人民币,必须要差分成100块钱和50块钱, 而不是像100元大钞那样不能拆分。

一致性:数据前后状态保持一致。类似于质量守恒定律,比如张三借给李四100块钱,张三少了100,李四多了100,不管中途发生什么情况这100块钱不会不翼而飞。

隔离性:两个事务同时执行时,不会互相产生干扰。

持久性:事务一旦提交,表中数据便会持续存在。数据库就会被永久改变

事务的隔离级别:

脏读:事务1对数据进行了更新,但是还未提交,那么事务2此时看未提交的数据,若是事务进行了回滚操作,那么事务看到的数据就是脏数据

不可重复读 : 事务1两次读取数据,而事务2在事务1两次读取数据中进行了对事务1读取的数据进行了更新操作,那么就会导致事务1两次读取的数据不一致

幻读 :一个事务两次读取数据,但是第二次读取的数据比第一次多了

丢失更新 :撤销一个事务1时,把事务2已经更新完成的数据给覆盖。

隔离级别:

1.Read uncommitted 读未提交,任何情况都无法保证

2.Read committed 读已提交: 可避免脏读发生

3.Repeatable read 可重复读:可避免脏读,不可重复读的发生

4:Serializable 串行化: 让事务序列化,加锁,当一个事务完成在进行下一个事务,效率低,但是安全系数高,可避免脏读,不可重复读,幻读发生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值