Mysql学习8--视图-存储过程-触发器

视图

介绍:

视图(view)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。

简单理解即为:视图=一条查询语句

语法:

创建:

Create [or replace] view view_name as select id,name from table_name where id

查询:

查看创建视图的语句:show create view view_name;

查看视图数据:select * from view_name;

修改:

方法1:Create or replace view view_name as select id,name from table_name where id

方法2: alter view view_name as select id,name from table_name where id

删除:

Drop view [if exit] view_name;

视图的检查选项:

当使用with check option 子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如插入,更新,删除,以使其符合视图的定义。MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保障一致性。为了确定检查的范围,mysql提供了两个选项:cascaded和local,默认值为cascaded(级联)

local则根据上下语句是否有检查选项,若无则不检查

视图更新规则

要使视图可更新,视图中的行与基础表中的行之间必须存在一对一的关系。如果视图包含以下任何一项,则该视图不可更新:

1.聚合函数或窗口函数(sum(),min(),max(),count()等)

2.DIstinct

3.Group by

4.Having

5.Union或者Union all

作用:

1.简化操作

2.安全(权限控制)

3.数据独立

案例:

创建一张视图,只能看到tb_user的基本信息

create view view_tb_user as select id,name,age,birthday from tb_user;

select * from view_tb_user;

创建一张三表联查的视图

create view tb_students as select s.name, sc.no, c.name from student s ,student_c

  • 31
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值