Mysql事务


一.事务:一系列要发生的连续操作

        1.事务操作:自动操作、收到操作

                1)手动操作,操作流程

                    A.操作流程:

                            1.开启事务:告诉系统一下操作不要直接都写到数据表中,而是先存放到事务日志中去,start transaction;

                            2.事务操作:进行一系列操作

                            3.关闭事务:选择性的将事务日志中的的操作结果保存到数据表(同步)或者直接清空事务日志(清空原来所

                                                有操作)

                                      a.提交事务:同步数据表(操作成功) commit

                                      b.回滚事务:清空事务表(操作失败) rollback

            2.事务操作的原理:事务开启后所有操作都会保存到事务日志中去,事务日志只有在commit命令时才会将事务日志中的

                                          操作同步到数据表中其他任何操作都会清空(rollback、断开连接、断电);

        3.回滚点:当某个操作完成后会设置回滚点,如果后续的操作失败系统会跳转到回滚点。

                   A.设置回滚点:savepoint 回滚点名称; 返回回滚点 rollback to 回滚点名字;

                    

              2)自动事务处理:mysql中都是自动事务处理,用户操作完就会立即同步到数据表中

                        A.自动事务:系统通过autocommit变量控制  show variables like 'autocommit';

                                 

                               1.关闭自动事务提交:set autocommit=0;

               3).事务的是大特性ACID

                           a.Atomic原子性:事物的整个操作是一个整体要么全部成功要么全部失败。

                           b.Consistency一致性:事务在操作的过程中数据不会发生变化

                           c.Isolation 隔离性:两个事务在操作的过程中彼此无影响,只有都提交事务后然会发生变化

                           d.durability 永久性:事务一旦提交,操作过程不可逆。

                    锁机制:innodb默认是行锁,但是如果在事务的处理过程中,没有用到索引系统会自动检索全表数据,

                                 自动会升级为行锁

                                 行锁:当前行被锁住,其他用户不能操作

                                 表锁:当前表被锁住,其他用户无法操作

                               

                                            

                 

MySQL 事务是指一组数据库操作,这些操作要么全部执行,要么全部不执行,其目的是保证在并发环境下,数据的一致性和完整性。MySQL 事务具有 ACID 性质,即原子性、一致性、隔离性和持久性。 MySQL 中使用事务需要使用 BEGIN、COMMIT 和 ROLLBACK 语句,其中 BEGIN 表示开启一个事务,COMMIT 表示提交事务,ROLLBACK 表示回滚事务事务的基本语法如下: ``` BEGIN; -- 执行一组数据库操作 COMMIT; -- 提交事务 -- 或者 ROLLBACK; -- 回滚事务 ``` 在 MySQL 中,事务的隔离级别分为四个等级,分别是 Read Uncommitted、Read Committed、Repeatable Read 和 Serializable。隔离级别越高,数据的一致性和完整性越高,但同时也会影响数据库的性能。 MySQL 事务的 ACID 性质有以下含义: 1. 原子性(Atomicity):事务中的所有操作要么全部执行成功,要么全部失败回滚,不会只执行其中的一部分操作。 2. 一致性(Consistency):事务执行前后,数据库中的数据必须保持一致性状态,即满足数据库的约束条件和完整性规则。 3. 隔离性(Isolation):事务之间应该是相互隔离的,一个事务的执行不应该被其他事务干扰,保证事务之间的数据相互独立。 4. 持久性(Durability):事务提交后,对数据库的修改应该是永久性的,即使出现系统故障或电源故障,也不应该对数据产生影响。 总之,MySQL 事务是一组数据库操作,具有 ACID 性质,可以通过 BEGIN、COMMIT 和 ROLLBACK 语句来实现,隔离级别越高,数据的一致性和完整性越高,但同时也会影响数据库的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值