MySQL-视图

视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。

通过视图,可以展现基表的部分数据; 视图数据来自定义视图的查询中使用的表,使用视图动态生成。

基表:用来创建视图的表叫做基表

视图的诸多优点,如下:

(1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。

(2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。

(3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。 总而言之,使用视图的大部分情况是为了保障数据安全性,提高查询效率。

 

1.创建视图

复制代码
 1 #创建视图:逻辑上的虚拟表
 2 CREATE VIEW v_author(编号,姓名)
 3 AS
 4 SELECT * FROM author WITH CHECK OPTION;
 5 #查询视图
 6 SELECT * FROM v_author;
 7 
 8 #创建多表视图
 9 CREATE VIEW v_a_b(作者名字,博客标题,博客内容)
10 AS
11 SELECT a.author_name,b.title,b.content FROM author a LEFT JOIN blog b ON a.id=b.author_id; 
12 
13 SELECT * FROM v_a_b;
14 
15 
16 #部分数据创建视图
17 CREATE OR REPLACE VIEW v_blog_1(编号,标题,内容,作者编号)
18 AS SELECT * FROM blog WHERE author_id=1
19 WITH CHECK OPTION;
复制代码

2.修改视图

1 #修改视图:没有就创建,有就替换
2 CREATE OR REPLACE VIEW v_blog(编号,标题,内容,作者编号) 
3 AS SELECT * FROM blog
4 WITH CHECK OPTION;
5 
6 #修改视图的数据->修改基表数据
7 UPDATE v_blog SET 内容 = '修改后的内容' WHERE 编号 = 1;

3.约束

1 #约束 WITH CHECK OPTION
2 INSERT INTO v_b_1 VALUES(1,'hhhhh','hhhh',2);

 

posted @   小酒馆里的清茶  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示