视图/存储过程/触发器

视图

虚拟表 ,不保存数据 只保存sql的逻辑

view

create   or replace view 名称 as select 语句 

show 查询视图 

操作视图同表一样

视图的增删改查: with cascaded check option 视图的检查选项  对视图进行更改操作时 会检查该操作是否符合视图定义时的条件 

视图的更新及作用: 

并不是所有的视图都可以更新 视图中的行必须满足基础表之间的一对一的关系,视图中有以下情况不允许更新:

聚合函数或者窗口函数,ditinct  ,group by  ,having  ,union 或者union all 

作用: 操作简单,将复杂的条件定义在视图中,安全,通过视图用户只看到视图里特定的字段,数据独立可以帮助用户屏蔽基础表变化对业务的影响

存储过程

介绍:

存储过程是事先经过编译并存储在数据库中的一段sql语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率有好处

存储过程的思想很简单就是数据库sql语言层面的代码封装与重启

特点:

封装 复用

可以接受参数返回参数

减少网路交互

基本语法

创建存储过程 :

create procedure 存储过程名称(「参数列表」)

begin

--sql 语句

end

调用 :call  名称(「参数」)

查看:show create procedure存储过程名称:查询存储过程的定义

select * from information-schema.rountins where rountin-schema= 'xx' 查询指定数据库的存储过程及状态信息 

删除: drop proced 

delimiter: 指定结束符号

系统变量: mysql 服务器自己提供的 分为会话变量session  全局变量global  默认会话级别

查看系统变量: show variables 设置系统变量: set  

用户自定义变量 赋值 set @变量名 =  XX   select  字段名into变量名from 表

 查找直接select @变量名

局部变量:局部生效;declare 声明

 

触发器:

触发器是与表有关的数据库对象,在插入更新删除的之前或之后 ,触发并执行触发器定中的sql语句u集合,可以保证数据库的数据完整性 日志记录 数据检验等操作

使用别名old 和new 来引用触发器中的发生的记录内容 这与其他数据库是相似的,现在触发器只支持行出发,不支持语句级别触发

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值