学习MySQL的第六天:事务(基础篇)

60 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情

 ​编辑

 

 

一,事务简介

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会 立即隐式的提交事务。
​编辑

 二,事务操作

默认每一条SQL语句都是一个事务。

两种事务操作的方法

1,查看/设置事务提交方式

​编辑

 2,提交事务:

​编辑

 3,回滚事务:

​编辑

若设置为手动提交后,不执行提交事务的指令,代码如果没有错误的话,只会在当前页面进行编译。指令并没有提交到数据库当中。 只是临时指令。

当代码全部运行通过后,再专门执行提交事务代码,若没有全部通过,则执行回滚事务代码。

​编辑

  • 三,事务的四大特性:(ACID)

●原子性(Atomicity) :事务是不可分割的最小操作单元,要么全部成功,要么全部失败。
●一致性(Consistency) :事务完成时,必须使所有的数据都保持一 致状态。
●隔离性(Isolation) :数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。
●持久性(Durability) :事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。

四,并发事务问题

​编辑

 ​编辑

 ​编辑

 ​编辑

 五,事务隔离级别:(解决并发事务问题)

​编辑

 ​编辑

 ​编辑

 规避了脏读的问题

​编辑

 不可重复读:

​编辑

隔离级别与数据安全性成正比,与性能成反比。