数据库--数据库事务

Posted taohongfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库--数据库事务相关的知识,希望对你有一定的参考价值。

事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可以分割的工作单位。

定义事务的语句

    begin transaction;

    commit;----提交事务的所有操作

    rollback;----回滚:在事务云彩的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据的所有已完成的操作全部撤销,回滚到事务开始时的状态。

 

事务的ACID特性

  原子性:Atomicity

  事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做

  一致性:Consistency

  事务的执行结果必须是使数据库从一个一致性状态变到另一个一致性状态。

  当数据库只包含成功事务提交的结果时,数据库处于一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成的事务对数据所做的修改有一部分已经写入物理数据库,这时候数据库就处于一种不正确的状态,或者不一致的状态。

 银行中的事务,某人要从A账号转账到B账号,可以定义为一个事务,包括两个操作:一个操作从A账号取出10000元,一个操作向B账号加入10000元。这两个操作要么全做,要么全不做,这样数据库才会保持一致性,若只进行一个操作,逻辑上救火发生操作,减少或者增加1000元。

  隔离性:Isolation

  一个事务的执行不能被其他事务干扰,一个事务的内部操作及使用的数据对其他并法事务是隔离的,并发执行的各个事务之间不能互相干扰。

  持久性 Permanence

  一个事务一旦提交,对数据库中数据的改变就是永久性的。接下来其他操作或故障不应该对其执行结果有任何影响。

以上是关于数据库--数据库事务的主要内容,如果未能解决你的问题,请参考以下文章

事务日志的用途是啥

事务分类与特性

数据库事务初识

事务特性,事务的隔离级别,并发事务可能出现的问题,spring事务 数据库锁

数据库事务系列5 分布式事务及其他

使用Spring管理数据库事务