MySQL 事务基本概念:确保数据完整性和一致性的关键

作者:马顺华

从事运维管理工作多年,目前就职于某科技有限公司,熟悉运维自动化、OceanBase部署运维、MySQL 运维以及各种云平台技术和产品。并已获得OceanBase认证OBCA、OBCP 证书、OpenGauss社区认证结业证书、崖山DBCA证书、亚信AntDBCA证书。OceanBase & 墨天轮第二、三、四届技术征文大赛,多次获得 一、二、三 等奖,时常在墨天轮发布原创技术文章,并多次被首页推荐。

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!MySQL 事务是一组 SQL 语句的集合,它们被作为一个工作单位来执行,要么全部执行,要么全部不执行。事务可以确保数据的完整性和一致性。

一、事务的定义

在数据库管理系统(DBMS)中,事务是一个非常重要的概念,它用于确保数据的完整性和一致性。MySQL 作为一个流行的关系型数据库管理系统,也支持事务处理。本文将详细介绍 MySQL 事务的概念、特性和使用方法。

二、事务的特性

在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。
事务用来管理 insert , update , delete 语句。
一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性或不可分割性)、Consistency(一致性)、Isolation(隔离性或独立性)、Durability(持久性)

1、原子性:事务是一个原子操作,它确保了 SQL 语句的执行要么全部成功,要么全部失败。这意味着如果事务中的任何一条 SQL 语句失败,整个事务将被回滚,数据库将返回到事务开始之前的状态。
2、一致性 : 一个事务不论是开始前还是结束后,数据库的完整性都没有被破坏。因此写入的数据必须完全符合所有预设规则(资料精确度、串联性以及后续数据库能够自发完成预定工作)。
3、隔离性:数据库允许多个事务并发的同时对其数据进行读写修改等操作,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离可分为:Read uncommitted(读未提交)、Read committed(读提交)、Repeatable read(可重复读)、Serializable(串行化)。
4、持久性:一旦事务提交完成,其更改的结果就是永久的。即使在系统故障的情况下,提交的事务结果也能够恢复。

三、事务控制语句

1,显式的开始一个事务:

start transaction