事务transaction
重点是事务的概念和特点
概念
最小的合法的数据库操作单元
包含于xx和xx的一堆sql
目的
-- 并发控制 -->前台访问的有序
同时进行,听谁的
-- 恢复 -->后台数据的可靠
磁盘坏了怎么办,服务器坏了怎么办
例子
刷卡 -- 业务/功能 -- update 卡 set 余额 = ... |- insert into 卡终 values(...)
如果update后机器坏了,后面一条没执行,则数据不一致
怎么解决呢?
==> 将两句话打包成事务,放在begin > transaction 和 commit 之间 ==> 两句话是一个不可分割的单元 ==> 机器好了之后,会保证回滚
事务才是最小的,合法的数据库访问单元
==> 将一个一致的状态转换到另一个状态
事务的状态
-- 全部执行完 (对于事务,commit执行完了才叫它完全执行完了) |- 没执行完 ==> 回滚
如何声明一个事务
放在begin transaction 和 commit 之间
事务特点
死记住
ACID
1.原子性 atomicity
2.一致性 consistency
3.隔离性 isolation
4.持久性 durability