mysql触发器调用python_Python11/26--mysql之视图/触发器/事务/存储过程

视图:

1.什么是视图

视图就是通过查询得到一张虚拟表,然后保存下来,下次用的时候直接使用即可

2.为什么用视图

如果要频繁使用一张虚拟表,可以不用重复查询

3.如何用视图

select * from 表1 inner join 表2 on 表1.id  = 表2.表1_id ;

注意:1.在硬盘中,视图只有表结构文件,没有表数据文件

2.视图通常是用于插叙,尽量不要修改视图中的数据

触发器:

1.什么是触发器

在满足对某张表数据的增、删、改的情况下(没有查),自动触发的功能称之为触发器

2.为何要用触发器?

触发器专门针对我们对某张表数据的增、删、改的行为,这类行为一旦执行就会启动触发器

,即自动运行另外一段sql代码

3.创建触发器语法

create trigger 触发器的名字 after(也可以用before代表在之前触发) insert(可以换成delete,update)     on 表名 for each row(结尾这三个是固定语法)                              释义:在这个表名插入一条记录              之后触发一条触发器的行为

begin

当上门的create 触发器 触发时,自动执行 这段sql代码。。

end

触发器这样命名会好一点: 触发器名_after_insert_哪张表名

事务:

1.什么是事务

开启一个事务可以包含一些sql语句,这些sql语句要么同时成功,要么都不能成功,称之为事务的          原子性

2.事务的作用

可以监测一系列操作的安全性、准确性,可以对事务控制范围内的数据进行回滚等操作

3.怎么使用事务

start transaction  #开启事务

开始执行sql 语句。

可以执行rollback 回滚到修改数据之前的状态

在没有执行commit之前这些修改的任何操作数据都不会刷新到硬盘

存储过程:

1.定义:存储过程包含了一系列可执行的sql语句,存储过程存放于mysql中,通过调用他的名字可以执                行其内部的一堆sql

2.三种开发模型:

1、应用程序:只需要开发应用程序的逻辑

mysql:编写好存储过程,用来给应用程序调用

优点:开发效率,执行效率都高

缺点:考虑到人为因素、跨部门沟通等问题,会导致扩展性差

2、应用程序:除了开发应用程序的逻辑,还需要编写原生sql

mysql:

优点:比方式1 拓展性高(非技术层面)

缺点:开发效率、执行效率都不如方式1,编写原生sql太过于复杂,需要考虑sql语句的优化

3.应用程序:开发应用程序的逻辑,不需要编写原生的sql,基于别人编写好的框架来处理数据,

mysql:

优点:不用再编写纯生sql,这意味着开发效率要比方式2高 ,同时拓展性也高

缺点:执行效率连方式2 都不如

3.创建存储过程:

create procedure 存储过程名(可传参)

begin

sql语句

end

call  存储过程名(可传参)   # call 是调用

2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值