手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

MySQL视图入门浅析

[日期:2018-09-24] 来源:Linux社区  作者:Linux [字体: ]

一. 什么是视图

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

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

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'

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-09/154348.htm

linux
相关资讯       MySQL视图 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款