事务就是多条sql语句组成的工作逻辑单元
事务的特点:原子性、一致性、隔离性、持久性
事务对SQL 语句进行分组,使它们要么全部提交 ( 这意味着它们被应用到数据库 ) ,要么全部回滚 ( 这意味着它们从数据库撤消 ) 。
只要有一条 SQL 语句执行失败,则已执行的 SQL 语句会回滚到执行之前的状态,这样就保证了数据库数据的一致性,不至于产生混乱的数据。
•原子性 Atomicity
事务必须是原子工作单元,对其进行的数据修改,要么全都执行,要么全都不执行。
强调事务的不可分割 。
例如: 银行转账, A 向 B 转账 1000 元, 要在A 账户上 减少 1000 元,同时要在 B 账户上 增加 1000 元。 并且记录一条转账记录。 要么同时执行,要么都不执行更改,以确保整个事务是一个原子工作单元。
•一致性 Consistency
事务将数据库从一个一致状态转移到另一个一致状态。
强调事务执行前后, 数据库的完整性保持一致 。
例如, 银行转账,A 向 B 账号转账 1000 元,是不允许看到 A 的账号减少 1000 , B 的账号还没来得及增加 1000 的中间状态。
•隔离性 Isolation
一个事务不会看到另外一个还未完成的事务产生的结果。每个事务就像在单独、隔离的环境下运行一样。
强调事务并发访问 , 一个事务的执行 , 不应该受到另一个事务的打扰。
例如,一个用户正在更新员工表。其他用户不会看到对员工表所做的未提交更改。因此,在用户看来,事务似乎是串行执行的。
•持久性 Durability
提交的事务所做的更改是永久性的。 不会因为系统失败而丢失。强调事务结束 , 数据永久保存数据库中 。事务完成后,数据库通过其恢复机制确保事务中的更改不会丢失。
标签:转账,事务,哪些,要么,数据库,特点,执行,1000 From: https://www.cnblogs.com/stanzhou47/p/16727878.html