事务:也称为工作单元,是由一个或多个sql语句组成的操作序列,这些sql语句作为一个完整的工作单元,要么全部执行成功,要么全部执行失败。这样能保证数据的一致性。
事务处理语言:Transaction Process Language 简称TPL,主要用来对组成事务的DML语句的操作结果进行确认或取消。确认也就是使DML操作生效,使用提交commit命令实现;取消也就是使DML操作失效,使用回滚rollback命令实现。
事务的特性:
原子性:事务就像‘原子’一样,不可被分割,组成事务的DML操作语句要么全部成功,要么全部失败,不可能出现部分成功部分失败的情况。
一致性:一旦事务完成,不管是成功的或者失败的,整个的系统处于数据一致的状态。
隔离性:一个事务的执行不会被另一个事务所干扰。比如两个人同时从一个账户取钱,通过事务的隔离性确保账户余额的正确性。
持久性:也称为永久性,指事务一旦提交,对数据的改变就是永久的,不可以再被回滚。
手动提交事务:begin、rollback、commit实现,用begin开启事务后在没有commit提交之前执行修改命令,变更会维护到本地缓存中,而不维护到物理表中,只有在commit提交之后,才会更新到物理表中。如果中间执行错误,那么用rollback回滚事务,恢复到执行事务前的状态。