当前位置: 首页 > news >正文

烈焰传奇网页版河池网站优化

烈焰传奇网页版,河池网站优化,推广专员是做什么的,广东手机网站建设价格一、数据库事务 数据库事务介绍——要么全部成功要么全部失败 我们把完成特定的业务的多个数据库DML操作步骤称之为一个事务 事务——就是完成同一个业务的多个DML操作 例: 数据库事务四大特性 原子性(A):一个事务中的多个D…

一、数据库事务

数据库事务介绍——要么全部成功要么全部失败

我们把完成特定的业务的多个数据库DML操作步骤称之为一个事务

事务——就是完成同一个业务的多个DML操作

例:

数据库事务四大特性

原子性(A):一个事务中的多个DML操作,要么同时执行成功,要么同时失败

一致性(C):事务执行之前和事务执行之后,数据库中的数据是一致的,完整性和一致性不能被破坏

隔离性:数据库允许多个事务同时执行,多个并发的事物之间不能发生影响

持久性:事务完成之后,对数据库的操作是永久的

二、MySQL事务管理(应用)

1.自动提交

在Mysql中,默认DML指令执行自动提交,当我们执行一个DML语句后,自动同步到数据库中

用sql语句执行后,先短暂进入一个缓存区域,检查语句是否正确,然后再对数据空间进行改变

2.事务管理

开启事务,就是关闭自动提交,在缓存区域进行检查,如果检查正确,则可以正确提交,对数据空间进行修改

2.1 开启事务:start transaction

2.2 依次执行事务中的每个操作

2.3 如果在执行的过程中的任何位置出现异常,则执行rollback回滚事务,将缓存区域保存的语句直接删除

2.4 如果食物中所有的DML操作都执行成功,则在最后执行commit提交事务,在数据库中进行数据改变

3.案例

1.创建数据库

create databases 数据库名;

create database db_test3;

2.使用数据库

use 数据库名;

use db_test3;

3.创建库存表

create table 表名(字段名...);

create table stock(id int primary key auto_increment,name varchar(20),num int not null
);

4.创建订单表

create table 表名(字段名...);

create table order_db(id int primary key auto_increment,name varchar(200) not null,price double,num int
);

5.给库存表中添加数据

insert into 表名(字段名) values (字段对应的数据);

insert into stock(name,num) 
values('鼠标',10
);

5.创建订单表

insert into 表名(字段名) values (字段对应的数据);

create table order_db(id int primary key auto_increment,name varchar(200) not null,price double,num int
);

5.给库存表中添加数据

insert into stock(name,num) 
values('鼠标',10
);insert into stock(name,num) 
values('键盘',20
);insert into stock(name,num) 
values('耳机',30
);

    

6.如果不加入事务进行回滚则会执行前半部分语句,后半部分语句错误则不会通过

#扣减库存
#{
update stock set num=num-1 where name='键盘';
#如果不加入事务进行回滚则会执行前半部分语句,后半部分语句错误则不会通过select aaa;#订单加1
insert into order_db(name,price,num) values('键盘',50,1);

7.开启事务 将自动提交改为手动提交

start transaction;

start transaction;

开启事务后的运行结果

开启事务后,如果不成功则两段都不会运行

rollback 事务回滚:消除缓存中的操作,撤销当前事务已经执行的操作

commit 手动提交

三、四种事务隔离级别

1.读未提交 2.读已提交 3.可重复读 4.单行化

隔离级别依次递增

1.读未提交 read uncommited

读未提交:一个事务中读到了另一个事务中修改了但未提交的数据,会造成数据的差别,产生了不一致性

2.读已提交  read commited

读已提交:避免了脏读但是会导致虚读,在多次查询之间修改了数据,导致多次查询的结果不同

3.可重复读 repeatable read

可重复读:在第一次操作完全结束之前,不能被其他事务影响,避免了不可重复读,但可能会造成幻读,在查询时,第二次修改后查询出的结果和第一个事务又往前递增,就会查询出修改前修改后的两个数据,会出现所谓的幻读

4.单行化 serializable

串行化:同时只允许一个事务对数据进行操作,避免了脏读、虚读、幻读

5.设置数据库事务隔离级别

6.查看数据库默认的隔离级别

select @@transaction_isolation;

select @@transaction_isolation;

7.设置数据库隔离级别

set session transaction isolation level 事务隔离级别 ;

set session transaction isolation level read committed ;

越往后等级越高,之后的是为了解决前一级别遇到的问题

http://www.yayakq.cn/news/183734/

相关文章:

  • 电子商务网站建设预算表【转】网页 网站 html如何实现"关闭窗口"代码大全
  • 盐城网站建设hx1818.net 网站开发
  • wordpress建站访问提示不安全电商主题wordpress
  • 先进的网站设计公司企业邮箱个人注册
  • 网站开发的中期工作有哪些做的好的小众网站
  • 网站建设公司销售前景网站建设明薇通网络服务好
  • 西安做网站云速网络用织梦做网站有什么公司会要
  • 苏州网站建设招标网站建设首选定制开发
  • seo整站优化价格如何建设景区旅游网站
  • 佛山h5网站公司网站的虚拟人怎么做的
  • 网站开发需要哪些语言品牌关键词优化哪家便宜
  • 太湖县网站建设公司郑州 建站 公司
  • 政务公开 加强门户网站建设网站用nodejs做后台
  • 江苏省教育现代化建设水平监测网站网站制作有哪些方面
  • 免费自助建手机网站免费做漫画网站
  • 建设部作业证件查询官方网站直播型网站开发
  • html菜鸟教程代码刷关键词排名seo软件软件
  • 上海省住房与城乡建设厅网站基于jsp企业网站开发设计答辩ppt
  • 本地南通网站建设购买网站模版可以自己做吗
  • 上手机淘宝网站建设网站建设要准备什么资料
  • 崇明集团网站建设买外链网站
  • wordpress网站 添加微信支付google引擎免费入口
  • 广州商务网站建设电话做网站推广的 什么是开户
  • 社区网站模板上位机软件开发工具
  • 0基础做网站用什么语言南京营销型网站建设
  • 电商网站方案建设怀化公司做网站
  • 石家庄网站建设制作dede建设网站
  • 济南做网站 推荐行知科技网站建设与管理 期末
  • 网站注册人查询网站统计cnzz
  • 创意网站交互wordpress移动端页面