数据库事务的简单理解
1.基本概念:
数据库事务与DML(Data Manipulation Langulage:数据库操纵语言)不可分割,是将一系列DML语句封装在一个单元中,这个单元被称为事务.一个事务中的DML语句必须全部执行或者全部不执行.如果一个事务在执行过程中部分DML语句已经执行,后面的DML语句因为错误无法执行,则已经执行的DML语言则需要回滚(rollback),使得数据库恢复到该事务执行之前的状态,以保证数据库完整性.事务执行完成后需要提交(commit).
2.四大特征(ACID):
1.Atomicity 原子性:
保证事务是最小的执行单位,不可再分.
其内部有一系列DML语句,这些语句在事务的执行过程中要么全部执行,要么全部不执行,如果在事务执行过程中任何一个DML语句执行失败,则会回滚到事务之前的状态.
2.Comsistency 一致性:
指数据事务不能破坏关系数据的完整性以及业务逻辑上的一致性.
例如一个转账的事务,转账前A和B的账户上共有10块钱,那无论A和B进行怎样的转账业务,他们的账户上的总金额始终为10块钱.
3.Isolation 隔离性:
一个事务的执行不应受到其他事务的影响.
在一个事务的执行过程中,对数据库的数据进行的所有操作只存在于该事务中,对外界没有影响,在该事务被提交(commit)之后所有的操作才会生效.
如果同一时间多个事务访问同一数据,则会对事务进行串联化,当本次事务执行结束(提交或者回滚)后,才会执行下一个事务.
4.Durability 持久性:
当一个事务执行完成后,对数据库中数据的修改是永久性,不能被回滚.
3.基本语法
开启一个事务:start transaction
事务回滚:rollback
提交事务:commit
保存一个节点:savepoint 节点1
返回到指定节点:rollback to savepoint 节点1
本文章持续更新,其中知识点有误或您认为有必要拓展的知识点请留言或私信,谢谢.