【mysql学习笔记26】视图

创建视图

CREATE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];

查询视图

查看创建语句

show create view 视图名;

查询

select * from 视图名;

修改视图

方式一

CREATE OR REPLACE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];

方式二

ALTER VIEW 视图名(列明列表) AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];

删除视图

DROP VIEW [IF EXISTS] 视图名;

插入

对视图进行插入会插入原表中

检查选项

当使用WITH CHECK OPTION子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如插入,更新,删除,以使其符合视图的定义。MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了两个选项:CASCADED和LOCAL,默认值为CASCADED。
无with check option时,是不需要满足当前视图的条件的。并且对于底部视图(即该视图针对的视图),先判断底部视图是否有with check option语句,有的话,按照其规则(local或者cascaded)处理,没有的话则不需要满足底部视图的条件。
with local check option时,需要满足当前视图的条件。对于底部视图,也是先看是否有指定的with check option语句,有的话对应处理,无则不需要满足底部视图的条件。
with cascaded check option(cascaded可以省略)时,需要满足当前视图的条件。并且对于所有底部视图的条件,也需要一并满足,哪怕底部视图没有定义with check option语句。

更新

要使得视图可更新,那么视图的列必须和原表的列一一对应

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值