【mysql】视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【mysql】视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1957字,纯文字阅读大概需要3分钟。
内容图文
![【mysql】视图](/upload/InfoBanner/zyjiaocheng/920/51a9fec72c4a41968b7009a26b446cef.jpg)
一 Mysql 视图
1.1 什么是视图
视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并
不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时
动态生成的。
1.2 视图优点
(1)简单
使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,
对用户来说已经是过滤好的复合条件的结果集。
(2)安全
使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能
限制到某个行某个列,但是通过视图就可以简单的实现。
(3)数据独立
一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
1.3 视图的使用
1.3.1 创建视图
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
1.3.2 修改视图
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
WITH [CASCADED | LOCAL] CHECK OPTION 决定了是否允许更新数据使记录不再满足视图的条件。这个选项与 Oracle 数据库中的选项是类似的,其中:
- LOCAL 是只要满足本视图的条件就可以更新;
- CASCADED 则是必须满足所有针对该视图的所有视图的条件才可以更新。
如果没有明确是 LOCAL 还是 CASCADED,则默认是 CASCADED。
创建两个二层视图。
CREATE OR REPLACE VIEW payment_view AS
SELECT regionId,productCode,provinceId FROM df_prod_city
WHERE provinceId < 10 WITH CHECK OPTION;
CREATE OR REPLACE VIEW payment_view1 AS
SELECT regionId,productCode,provinceId FROM payment_view
WHERE provinceId > 5 WITH LOCAL CHECK OPTION;
CREATE OR REPLACE VIEW payment_view2 AS
SELECT regionId,productCode,provinceId FROM payment_view
WHERE provinceId > 5 WITH CASCADED CHECK OPTION;
UPDATE payment_view1 SET provinceId=10 WHERE regionId = 2;
UPDATE payment_view2 SET provinceId=15 WHERE regionId = 2;
我们发现两条更新语句上面的没报错,下面的报错了,所及正是因为我
们的CASCADED CHECK OPTION生效以后,产生的影响。
内容总结
以上是互联网集市为您收集整理的【mysql】视图全部内容,希望文章能够帮你解决【mysql】视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。