zoukankan      html  css  js  c++  java
  • MySQL学习笔记-事务

           一 数据库事务概念

           数据库事务(Database Transaction)其实就是执行对数据库一系列操作,而事务处理则是要么完全执行所有操作,要么完全不执行任何操作,这样可以保证数据的安全性和稳定性。

           二 事务特性

           事务有所谓的ACID特性,其特性分别如下:

           1.原子性(Atomicity):原子意为最小的粒子,或者说不能再分的事物。 数据库事务的不可再分的原则即为原子性。 组成事务的所有查询必须: 要么全部执行,要么全部取消。

           2.一致性(Consistency):指数据的规则,在事务前/后应保持一致。

           3.隔离性(Isolation):简单点说,某个事务的操作对其他事务不可见的。

           4.持久性(Durability):当事务完成后,其影响应该保留下来,不能撤消。

           三 事务用法步骤

           1.开启事务:start transaction;

           2.执行SQL操作;

           3.提交或者回滚(commit/rollback)

           四 操作实例

           1.建立如下表,同时插入两条数据

           mysql> create table a(

           -> id int,

           -> money int);

           mysql> insert into a values (1,5000),(2,5000);

           

           2.黑窗口假定为服务器端,蓝窗口假定为客户端,分别查询数据,如下

           

           3.服务器开启事务,同时执行SQL操作,1号给2号转账500元,与此同时在服务器在没有执行commit操作下,客户端看到的仍然是原数据。

           

           4.服务器提交确认(commit)操作,客户端看到数据已经改变

           

           5.如果服务器再执行一次相同的事务,但最后却取消了(rollback)此次事务,客户端看到的数据没有改变

           

           

  • 相关阅读:
    C语言单链表创建,插入,删除
    Java乔晓松spring构造函数的注入以及null的注入
    sentilib_语料库项目_search模块的实现
    spring入门(6)set方法注入依赖之null的注入
    Java乔晓松使用Filter过滤器清除网页缓存
    漂亮的弹框
    C#判断各种字符串(如手机号)
    视频数字水印
    数据校验
    SVN 常见问题操作总结
  • 原文地址:https://www.cnblogs.com/houtaoliang/p/4729553.html
Copyright © 2011-2022 走看看