SQL学习笔记——事务(基本概念,基础语句,四个特性)
程序员文章站
2022-07-04 23:47:20
...
1、事务就是需要在同一个处理单元中执行的一系列更新处理的集合,一个事务中包含多少个更新处理或者包含哪些处理,在DBMS 中并没有固定的标准,而是根据用户的要求决定的。
- begin/start transaction:创建事务。
- commit:提交处理。提交事务包含的全部更新处理的结束指令,一旦提交,就无法恢复到事务开始前的状态了。
- rollback:取消处理。一旦回滚,数据库就会恢复到事务开始之前的状态。
--例子1,创建事务和提交处理
start transaction;
update product
set sale_price = sale_price - 1000
where product_name = '运动T恤';
-- 将运动T恤的sale_price降低1000日元
update product
set sale_price = sale_price + 1000
where product_name = 'T恤衫';
-- 将T恤衫的sale_price上浮1000日元
commit;
--例子2:创建事务和回滚取消处理
start transaction;
update product
set sale_price = sale_price - 1000
where product_name = '运动T恤';
-- 将运动T恤的sale_price降低1000日元
update product
set sale_price = sale_price + 1000
where product_name = 'T恤衫';
-- 将T恤衫的sale_price上浮1000日元
rollback;
2、事务的ACID特性:
- 原子性(Atomicity):原子性是指在事务结束时,其中所包含的更新处理要么全部执行,要么完全不执行。
- 一致性(Consistency):一致性指的是事务中包含的处理要满足数据库提前设置的约束,也就是事务将数据库从一种状态转变为下一种一致的状态。在事务的前后,数据库的完整性约束没有被破坏。同时。保证在一个事务中的多次操作的数据中间状态对其他事务不可见的。
- 隔离性(Isolation):隔离性指的是保证不同事务之间互不干扰的特性。该特性保证了事务之间不会互相嵌套。此外,在某个事务中进行的更改,在该事务结束之前,对其他事务而言是不可见的。
- 持久性(Durability):事务一旦提交,那么就是永久性的,不会因为宕机等故障导致数据丢失。
上一篇: Python实现识别手写数字 简易图片存储管理系统
下一篇: 微信小程序实现全国机场索引列表