MySQL事务介绍

本文详细介绍了SQL事务的基本概念,包括其原子性、持久性、隔离性和一致性的四大特性,并解释了如何通过SQL命令来实现事务的开启、回滚与提交。此外还探讨了不同事务隔离级别对解决脏读、虚读及幻读等问题的影响。
1、事务的概念                                     
        在多个操作的SQL语句当中,要么同时成功执行,要么同时失败执行。
2、操作步骤: 
        A.开启事务  START TRANSACTION
        B.回滚(出问题了,需要回到开启事务之前)  ROLLBACK
        C.提交(正常执行,将改变的数据提交结束事务) COMMIT
3、查看和修改事务的提交方式
        A.查看事务的提交方式
             SELECT @@autocommit;
        B.修改事务的提交方式
             SET @@autocommit = 0;  -- 0表示手动提交,1表示自动提交
4、事务的四大特征
        A.原子性: 在事务的多个SQL语句当中,不可以分割开来
        B.持久性: 发生回滚和提交的时候,数据持久的保存在硬盘上面
        C.隔离性: 尽可能的多个事务之间没有影响
        D.一致性: 事务前后的总量不能改变
5、隔离级别
        A.存在问题
            a.脏读:事务X读取到事务Y,未提交的数据.
            b.虚读(不可重复读):在同一个事务当中,两次读取的数据不一样。
            c.幻读:事务X在操作数据库当中所有的记录,事务Y在添加一条新的          记录。事务X读取不到自己的修改
        B.对应的级别
            a. READ UNCOMMITED 读未提交 (出现"脏读","虚读","幻读")
            b. READ COMMITED  读提交 (出现"虚读","幻读")  ---> Oracle 默认采用
            c. REPEATABLE READ 可重复读 (出现"幻读") ---> MySQL 默认采用
            d. SERIALIZABLE 串行化 (可以解决所有问题,效率低)
        C.设置和查看隔离级别
            a.查看隔离级别  SELECT @@TX_ISOLATION;
            b.设置隔       SET GLOBAL TRANSACTION ISOLATION LEVEL 级别字符串;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值