首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MySQL视图入门浅析

MySQL视图入门浅析

作者头像
星哥玩云
发布2022-08-17 15:26:03
发布2022-08-17 15:26:03
3680
举报
文章被收录于专栏:开源部署开源部署

一. 什么是视图

  视图是一种虚拟存在的表,行和列数据来自,定义视图的查询中使用的表,并且是在使用视图时动态生成的。优势有:

  简单: 使用视图的用户完全不需要关心后面对应的表的结构,关联条件,筛选条件。   安全:使用视图的用户只能访问他们被允许查询的结果集。   数据独立: 源表增加列对视图没有影响,源表修改列名,则通过修改视图 对应好源表的列名来解决,不会造成对访问者的影响。

1.1 创建视图的操作

 -- 创建视图 CREATE  OR REPLACE VIEW view_city   AS   SELECT * FROM city;  -- 查询视图  SELECT * FROM view_city;

1.2 修改视图

-- 修改视图 ALTER VIEW view_city  AS  SELECT  cityname FROM city;

1.3 限制 

视图一般只是用来做查询使用,如果要对视图做修改有如下限制不能更新: 包含关键字 聚合函数(sum,min,max,count等),distinct,group by , having,union ,union all。 常量视图。 select 中包含子查询。 jion。 from 一个不能更新的视图。 where 字句的子查询引用了from字句的表。

   LOCAL 是只要满足本视图的条件就可以更新, CASCADED 则是必须满足所有针对该视图的所有视图的条件才可以更新, 如果没有明确是LOCAL 还是CASCADED,则默认是CASCADED,由于视图基本不做修改,这里就不在演示。

 -- local与CASCADED 语法   CREATE  OR REPLACE VIEW view_city   AS   SELECT * FROM city;   -- with(local | CASCADED)  CHECK OPTION;

1.4  删除视图

drop view view_city;

1.5 查看视图

--  查看视图的定义  SHOW CREATE VIEW view_city

-- 查看视图的定义 SELECT * FROM information_schema.views WHERE table_name = 'view_city'

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档