mysql的进阶学习--应用篇--视图, 存储过程, 触发器

这三个我们称之为MSQL当中的存储对象, 还有一个叫做存储函数
视图,说白了创建的时候并不执行select语句,等使用视图的时候再将存储的select语句走一波。

一. 视图的定义

视图是一种虚拟存在的表, 视图当中的数据并不是在数据库中实际存在, 而是在实际的表中, 视图只是说, 我们查询到的一个数据的表现形式. 是动态生成的.
简而言之, 视图不保存数据, 而是保存了查询的SQL的逻辑, 数据的来源是基本表, 叫基表, 所以我们在创建视图的时候, 的主要的工作就是创建这条查询的SQL语句上.

1.创建视图

create [or replace] view 视图名称[(列名列表)] as select语句 [with [cascaded|local] check option]

CREATE VIEW 
view_user_name_and_age
AS
SELECT 
NAME , age
FROM
tb_user
WHERE 
age > 50 

2.查询视图

查看创建视图的语句

SHOW CREATE 
VIEW 
view_user_name_and_age

查看视图的数据

作为一张表去查

3.修改视图

有两种语法

CREATE OR REPLACE VIEW
view_user_name_and_age
AS 
SELECT 
NAME , age
FROM
tb_user
WHERE
age <= 50 

ALTER VIEW
view_user_name_and_age
AS 
SELECT 
NAME , age
FROM
tb_user
WHERE
age <= 50 

4.删除视图

DROP VIEW
IF EXISTS
view_user_name_and_age

5.检查选项:作用于往视图中添加数据之时

级联

避免往视图中插入数据时,插入和创建视图时定义的条件不相符的数据

本地

6.更新视图数据:必须满足条件才能更新视图的数据

这个条件就是视图和基表的元组必须是一对一的关系
也就是说
创建视图时,使用了
聚合函数
distinct去重关键字
group by
。。。
不满足于基表的元组一对一了
不能更新视图的数据

7.视图的作用

视图最好就是只用来查询,不要用来增删改
定义视图后,可以看成一张表来用去查询
那么就能用来储存复杂的DQL

二. 存储过程

1.什么是存储过程, 有什么用途

很明显,视图存储的是查询语句
当一个业务逻辑需要去进行多种sql操作时
就相当于多次请求
存储过程就可以做到一次请求中存储一套sql的操作
从而优化数据的访问压力

2.基本语法

创建

create

变量-系统变量

变量-用户定义变量

变量-局部变量

if判断

参数(in, out, inout)

case

while

repeat

loop

cursor

条件处理程序-handler

存储函数

触发器

案例1(insert)

案例2(update)

案例3(delete)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值