mysql 事物

MySQL中的事务(Transaction)是一个确保数据完整性和一致性的重要概念。它将一组SQL操作捆绑在一起,当作一个单一的工作单元来执行。事务具备以下四个关键特性,即ACID特性:

  1. 原子性(Atomicity):事务是原子操作,意味着事务中的所有操作要么全部成功执行,要么全部不执行。如果事务中的任何一部分失败,整个事务都会被回滚,从而保持数据库的一致性。

  2. 一致性(Consistency):事务执行前后,数据库的状态都保持一致。即使事务中包含多个操作,事务结束时,所有数据仍然满足所有的预定义规则,如外键约束、唯一性约束等。

  3. 隔离性(Isolation):在并发环境中,事务之间应该是隔离的,即一个事务不应该看到另一个事务未提交的数据。MySQL 提供了不同的事务隔离级别来控制事务之间的可见性,包括读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。

  4. 持久性(Durability):一旦事务被提交,它对数据库的改变就是永久性的,即使系统发生故障也不会丢失。事务的更改会被持久化到硬盘上的数据库文件中。

在MySQL中,可以通过以下方式来管理事务:

  • 开始事务 :可以使用START TRANSACTION或BEGIN语句显式开始一个新的事务。
  • 提交事务 :使用COMMIT语句来提交事务,将事务中所有更改永久保存到数据库中。
  • 回滚事务 :使用ROLLBACK语句可以撤销事务中所有未提交的更改,恢复到事务开始前的状态。
  • 设置事务隔离级别 :使用SET SESSION TRANSACTION ISOLATION LEVEL语句可以设置当前会话的事务隔离级别。
相关推荐
写后端的胖头鱼8 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
路远的数据库笔记8 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰8 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
kaiyou20268 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
mjhcsp9 小时前
DeepSeek V4.1 Flash 批量处理效能实测
java·前端·数据库
ShineWinsu9 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
lie..9 小时前
30天从零开始学AI应用开发(Day 17):ChromaDB 上手:给本地文档建一个“外挂大脑”
数据库·人工智能·oracle
code_whiter9 小时前
01-MySQL数据库基础
数据库·mysql
weixin_3823952310 小时前
本地部署 ERP 选型记录:从 Excel 到轻量系统的这几年
数据库·人工智能·数据挖掘
2401_8914092610 小时前
期货量化用得上的几类行情数据:逐笔、Level2、分钟线和五档tick
数据库