python做网站有什么弊端,深圳网页设计培训中心,表白网站,wordpress投稿申请事务 什么是事务#xff1f; 事务是指一些SQL语句的集合#xff0c;这些语句同时执行成功完成某项功能 事务的CAID特性#xff1a; 原子性#xff1a;一个事务的执行是整体性的#xff0c;要么内部所有语句都执行成功#xff0c;要么一个都别想成功 一致性#xff1a;事…事务 什么是事务   事务是指一些SQL语句的集合这些语句同时执行成功完成某项功能 事务的CAID特性   原子性一个事务的执行是整体性的要么内部所有语句都执行成功要么一个都别想成功   一致性事务必须使数据库从一个一致性状态变到另一个一致性状态。   隔离性一个事务的执行不可以被其他事务干扰一个事物内部语句执行不受并发的其他操作影响彼此相互隔离。   持久性事务的提交对数据库的改变是永久性的不受外部因素或其他操作影响 事务的语法规则  create table user(id int primary key auto_increment,name char(32),balance int);insert into user(name,balance) values(zhangsan,1000),(lisi,1000),(wangwu,1000);# 下面产生事务操作start transactionupdate user set balance  900 where name  zhangsan;   # 买家支付100元update user set balance  1010 where name  lisi; # 中介拿10元抽成update user set balance  1090 where name  wangwu; # 商家得90元rollback;     # 事务回滚# 开启事务之后只要没有执行commit操作数据其实都没有真正刷新到硬盘
commit;
#开启事务检测操作是否完整不完整主动回滚到上一个状态如果完整就应该执行commit操作      存储过程 概念存储过程包含一堆sql语句可以通过对存储过程的名字来调用执行内部语句类似于其他编程语言中的函数 存储过程的 三种开发模型 第一种     应用程序只需要开发应用程序的逻辑     mysql事先编写好存储过程供应用程序随时调用     优点开发效率和执行效率高     缺点人为因素较多跨部门沟通等扩展性较差 第二种       应用程序除了要开发应用程序逻辑还需要编写原生的sql语句     优点扩展性较高都根据mysql语法规则来编写sql语句即可     缺点编写原生sql语句十分复杂并且要考虑到sql语句优化的问题这就导致了开发效率和执行效率降低的问题 第三种     应用程序只考虑应用程序的逻辑不需要管SQL语句的实现基于第三方的工具和库     优点开发效率高直接调用已封装好的功能和方法就好有更好的兼容性     缺点执行效率比较低执行效率不如第二种      如何创建存储过程  # 存储过程在那个库下创建即在哪个库下面生效不是全局的# 1、直接在mysql中调用
set res10 # res的值是用来判断存储过程是否被执行成功的依据所以需要先定义一个变量res存储10
call p1(2,4,10); # 报错
call p1(2,4,res);# 查看结果
select res; # 执行成功res变量值发生了变化# 2、在python程序中调用
pymysql链接mysql
产生的游表cursor.callproc(p1,(2,4,10)) # 内部原理_p1_02,_p1_14,_p1_210;
cursor.excute(select _p1_2;)# 3、存储过程与事务使用举例(了解)
delimiter //
create PROCEDURE p5(
OUT p_return_code tinyint
)
BEGINDECLARE exit handler for sqlexceptionBEGIN-- ERRORset p_return_code  1;rollback;END;DECLARE exit handler for sqlwarningBEGIN-- WARNINGset p_return_code  2;rollback;END;START TRANSACTION;update user set balance900 where id 1;pdate user123 set balance1010 where id  2;pdate user set balance1090 where id 3;COMMIT;-- SUCCESSset p_return_code  0; #0代表执行成功END //
delimiter ;   转载于:https://www.cnblogs.com/dongxixi/p/10885250.html