阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL视图入门浅析

107次阅读
没有评论

共计 867 个字符,预计需要花费 3 分钟才能阅读完成。

一. 什么是视图

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

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

1.1 创建视图的操作

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

MySQL 视图入门浅析

1.2 修改视图

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

MySQL 视图入门浅析

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 查看视图

MySQL 视图入门浅析

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

MySQL 视图入门浅析

— 查看视图的定义
SELECT * FROM information_schema.views WHERE table_name = ‘view_city’

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计867字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中