TCL语言简介
1 事务
事务由单独单元的一个或多个SQL语言组成,在这个单元中,每个SQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句执行错误,整个单元回滚,所有受到影响的数据将放回到事务开始以前的状态。反之则执行成功。
2 存储引擎
- 概念:在MySQL中的数据用各种不同的技术存储在文件(或内存)中
- 通过
SHOW ENGINES
命令来查看MySQL支持的存储引擎 - 在MySQL中用的最多的存储引擎有:innoDB,Myisam,Memory等,其中innoDB支持事务,而Myisam,Memory等不支持事务
3 事务属性(ACID)
3.1 原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生
3.2 一致性(Consistency)
事务必须使数据库从一个一致性状态变为另一个一致性状态,比如转账前,甲乙双方总金额之和是2000,转账后的金额总和还得是2000
3.3 隔离性(Isolation)
一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能相互干扰
3.4 持久性(Durability)
一个事务一旦被提交,它对数据库中的数据改变是永久的,接下来的其他操作和数据库故障不应该对其有任何影响