SQL之事务

文章目录

  • 前言
    • 事务简介
  • 一、事务操作
    • 查看/设置事务提交方式
    • 提交事务
    • 回滚事务
  • 二、事务四大特性
  • 三、并发事务问题
  • 四、事务隔离级别
  • 总结


前言

事务简介

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
SQL之事务_第1张图片默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。


一、事务操作

查看/设置事务提交方式

SELECT @@autocommit ;
SET @@autocommit =0;

提交事务

COMMIT ;

回滚事务

ROLLBACK ;

案例

select @@autocommit;
set @@autocommit =0;--设置为手动提交

SQL之事务_第2张图片

提交事务
commit;
回滚事务
rollback;

二、事务四大特性

  • 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。
    SQL之事务_第3张图片

  • 一致性(Consistency)︰事务完成时,必须使所有的数据都保持一致状态。

  • 隔离性〈lsolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。
    SQL之事务_第4张图片

  • 持久性(Durability)︰事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。

三、并发事务问题

SQL之事务_第5张图片SQL之事务_第6张图片SQL之事务_第7张图片
SQL之事务_第8张图片

四、事务隔离级别

SQL之事务_第9张图片-查看事务隔离级别

SELECT @@TRANSACTION_ISOLATION;

–设置事务隔离级别

SET [SESSION|(GILOBAL ] TRANSACTON SOLATION LEVEL {READUNCOMMITED /READCOMMITED │ REPEATABILEREAD| SERIAIZABLE)

注意:事务隔离级别越高,数据越安全,但是性能越低。


总结

SQL之事务_第10张图片

你可能感兴趣的:(mysql,sql,数据库,mysql)