金富通青岛建设工程有限公司网站,企业网站建设主要类型及选择,小企业一键做网站,南京网站制作多少钱1.基本概念
将一条或者多条SQL看成一个整体#xff0c;要么同时执行成功要么同时执行失败#xff0c;这就是事务。 事务举例#xff1a; 张三给李四转账500元钱#xff0c;需要让三账户的余额-500#xff0c;李四的账户余额500#xff0c;转账是一个连续的过程#xf…1.基本概念
将一条或者多条SQL看成一个整体要么同时执行成功要么同时执行失败这就是事务。 事务举例 张三给李四转账500元钱需要让三账户的余额-500李四的账户余额500转账是一个连续的过程要么同时成功要么同时失败。不能出现张三转出了500块而李四没收到的情况这将是很严重的问题。
2.事务的基本使用
执行SQL语句之前开启事务执行后没异常就提交有异常就回滚
1开启事务:在执行一组sQL操作之前开始事务start transaction; 提交了之后是不是不能回滚
2提交事务:在一组sQL执行成功之后提交事务commit;
如果开启事务不提交那么默认就是回滚【断开连接】 3回滚事务:在一组SQL执行出现异常之后回滚事务rollback;
举例【执行后发现查询结果出错则回滚正确则提交】
-- 张三给李四转账500元-- 开启事务
START TRANSACTION;-- 1.张三账户-500
UPDATE account SET moneymoney-500 WHERE NAME张三;出错了...-- 2.李四账户500
UPDATE account SET moneymoney500 WHERE NAME李四;-- 回滚事务
ROLLBACK;-- 提交事务
COMMIT;补充–try里面使用commit提交事务catch里面使用rollback回滚事务
3.事务的提交方式
1代表自动提交 0代表手动提交[COMMIT;]
查询事务提交方式SELECT AUTOCOMMIT;
SELECT autocommit;修改事务提交方式SET AUTOCOMMIT数字;
SET autocommit 1;
SELECT autocommit;4.事务的四大特征(ACID)
1 原子性(Atomicity)
原子性是指事务包含的所有操作要么全部成功要么全部失败回滚。
因此事务的操作如果成功就必须要完全应用到数据库如果操作失败则不能对数据库有任何影响。
2 一致性(Consistency)
一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态。
也就是说一个事务执行之前和执行之后都必须处于一致性状态。
3 隔离性(isolcation)
隔离性是当多个用户并发访问数据库时比如操作同一张表时数据库为每一个用户开启的事务。
不能被其他事务的操作所干扰多个并发事务之间要相互隔离。
4 持久性(durability)
持久性是指一个事务一旦被提交了那么对数据库中的数据的改变就是永久性的。
即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。
5.事务的隔离级别
多个事务之间是隔离的相互独立的。但是如果多个事务操作同一批数据则会引发一些问题设置不同的隔离级别就可以解决这些问题。产生条件是要在两个新连接中操作【如两台电脑获取一台电脑连接数据库两次】不是一个连接中的两个查询窗口。
1设置隔离级别 可重复读两次读取的数据一样 不可重复读两次读取的数据不一样【问题多人操作时所看到的数据有差异】
2存在的问题
3查询隔离级别以及设置隔离级别 数据库查询隔离级别 select tx_isolation; 数据库设置隔离级别(修改后需要重新连接) set global transaction isolation level 级别字符串;