当前位置:Gxlcms > 数据库问题 > MySQL学习笔记-事务

MySQL学习笔记-事务

时间:2021-07-01 10:21:17 帮助过:2人阅读

       一 数据库事务概念

       数据库事务(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)此次事务,客户端看到的数据没有改变

       技术分享技术分享

       

MySQL学习笔记-事务

标签:

人气教程排行