MYSQL事务笔记
~~~~~~~MySQL基础命令
show database 查看数据库有哪些
use students 使用哪个数据库
show tables 展示数据库中的表
select * from students; 从students表中查看所有的值
insert into students (studentno,name) values("013","我是新来的")
~~~~~~~~~常使用
事务多用于银行、订单系统:
列如:A和B为银行用户,现在A要给B转账500元,需要做以下几件事;
检查A的账号余额是否>500元;
A账号中扣除500元;
B账号中增加500元;
~~~~~~~~~~MYSQL事务概念:
它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。
~~~~~~~~~~~~~~~~MYSQL四大特性:
1、原子性(atomicity)【一个事务必须被视为一个不可分割的最小工作单元】
一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性
2、一致性(Consistency)【数据库总是从一个状态到另一个状态】
3、隔离性(Isolation)【一个事务在最终提交之前,对其他事务不可见的】
4、持久性(Durability)【一旦提交,永久保存】
~~~~~~~~~~~~~~~~~~~~~MYSQL高级操作
1、开启事务 begin
开启事务后执行修改命令,变更会维护到本地缓存中,而不是维护到物理表中
2、提交事务 commit
将缓存中的数据变更维护到物理表中
3、回滚事务 rollback
放弃缓存中变更的数据