事务——一个原子操作,一个最小的执行单元,可以有一个或者多个SQL语句组成。
当一个事务中有一句SQL语句执行失败,则整个事务失败。
执行一条DML语句(增删改)
执行性成功叫提交:
1)显示提交:commit
2)隐式提交,语句执行完成或正常 退出
执行失败叫回滚:
1)显示回滚:rollback
2)运势回滚:非正常退出(断电、宕机),语句执行失败。
事务的特性(重点):ACID
- Atomictiy(原子性)
一个事务内的所有操作就像是一个原子,要么都成功要么都失败 - Consistency(一致性)
当事务的操作失败时,所有数据回归到事务开始前 - Isolation(隔离性)
并发的事务间,一个事务不能修改另一个事务已经在修改的数据,只能修改事务处理完后的数据或者处理前的数据 - Durability(持久性)
持久性事务完成 后,他对于系统的影响是永久的
例子:
# 开启事务
START TRANSACTION;
# 事务执行的内容
DML语句1
DML语句2
DML语句3
# 事务结束
# 当事务语句全部成功前
COMMIT;# 执行提交,对数据进行更改保存
# 当事务语句有失败的存在
ROLLBACK;# 回滚,数据返回至开启事务前