MYSQL数据库事务介绍
2017-08-22 17:50
211 查看
一、数据库事务介绍
简单地说,事务就是指逻辑上的一组SQL语句操作,组成这组操作的各个SQL语句,
执行时要么全成功要么全失败。
列如:小明给小红转账5块钱,流程如下:
1.从小明银行卡取出5元,计算式money-5
2.把上面5块钱打入小红的账号上,小红收到5块,money+5
上述转账的过程,对应的sql语句为:
update xiaoming_account set money=money-5 where name='xiaoming';
update xiaohong_account set money=money+5 where name='xiaohong';
上述的两条SQL操作,在事务中的操作就是要么都执行,要么都不执行。
这就是事务的原子性
二、事务的四大特性(ACID)
1.原子性
事务是一个不可分割的单位,事务中的所有SQL等操作要么都发生,要么都不发生
2.一致性
事务发生前和发生后,数据的完整性必须保持一致
3.隔离性
当并发访问数据库时,一个正在执行的事务在执行完毕前,对于其他的会话是不可见的,多个并发
事务之间的数据是相互隔离的。还记得备份的参数么?
4.持久性
一个事务一旦被提交,它的数据库中的数据改变就是永久性。如果出了错误,事务也
不允许撤销,只能通过“补偿性事务”
三、事务的开启
数据库默认事务是自动提交的,也就是发一条sql它的执行一条。如果想多条sql放在
一个事务中执行,则需要使用事务进行处理。当我们开启一个事务,并且没有提交,mysql
会自动回滚事务。或者我们使用rollback命令手动回滚事务。
数据库开启事务命令:
start transcation 开启事务
rollback 回滚事务
commit 提交事务
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交
简单地说,事务就是指逻辑上的一组SQL语句操作,组成这组操作的各个SQL语句,
执行时要么全成功要么全失败。
列如:小明给小红转账5块钱,流程如下:
1.从小明银行卡取出5元,计算式money-5
2.把上面5块钱打入小红的账号上,小红收到5块,money+5
上述转账的过程,对应的sql语句为:
update xiaoming_account set money=money-5 where name='xiaoming';
update xiaohong_account set money=money+5 where name='xiaohong';
上述的两条SQL操作,在事务中的操作就是要么都执行,要么都不执行。
这就是事务的原子性
二、事务的四大特性(ACID)
1.原子性
事务是一个不可分割的单位,事务中的所有SQL等操作要么都发生,要么都不发生
2.一致性
事务发生前和发生后,数据的完整性必须保持一致
3.隔离性
当并发访问数据库时,一个正在执行的事务在执行完毕前,对于其他的会话是不可见的,多个并发
事务之间的数据是相互隔离的。还记得备份的参数么?
4.持久性
一个事务一旦被提交,它的数据库中的数据改变就是永久性。如果出了错误,事务也
不允许撤销,只能通过“补偿性事务”
三、事务的开启
数据库默认事务是自动提交的,也就是发一条sql它的执行一条。如果想多条sql放在
一个事务中执行,则需要使用事务进行处理。当我们开启一个事务,并且没有提交,mysql
会自动回滚事务。或者我们使用rollback命令手动回滚事务。
数据库开启事务命令:
start transcation 开启事务
rollback 回滚事务
commit 提交事务
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交
相关文章推荐
- Mysql数据库事务、隔离、锁机制介绍
- MySQL数据库事务的隔离级别介绍
- 简单介绍MySQL中的事务机制
- SQL 2014新功能介绍系列4 - 延迟事务持续性(Delayed Durability Transactions)
- MySQL数据库事务剖析
- Mysql数据库无法使用事务回滚
- hibernate 事务介绍:
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍
- Spring声明式事务管理与配置介绍
- 介绍一下Java的事务处理
- MySQL数据库中备份/恢复的两方法介绍
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法
- spring整合hibernate事务管理的四种方式,以及事务的传播行为和隔离级别介绍
- 介绍一下Java的事务处理
- AUTONOMOUS TRANSACTION(自治事务)的介绍
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
- mysql事务介绍
- 数据库事务介绍及特性
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍
- SQL Server事务日志介绍