ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

视图

2020-09-07 20:03:05  阅读:123  来源: 互联网

标签:语句 视图 查询 语法 数据 view


A、什么是视图

  1、含义:MySQL视图时一个虚拟表,其内容有查询定义,同真是的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不存在数据库以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,且在引用视图时动态生成

    1.1视图时一张虚拟表

    2.2不存在数据,存储查询语句,数据又查询语句动态生成

  2、如果我们编写了一个复杂的SQL去完成某些功能,为方便后期的调用,将sql语句封装带一个虚拟表,后期只需要调用虚拟表就可以获取对应SQL查询出的结果,这个虚拟表就叫做视图

  3、概念定义:用来创建视图的表加基表

  4、视图没有数据,底层基本表的数据搬运工

  5、注意点:

    1、视图是一个虚拟表

    2、不存数据,只存储语句,表中数据有查询语句动态获取

  6、好处

    1、简单:视图使用起来和表操作非常类似

    2、安全:方便进行权限控制(用户只能查询或修改他们在视图所能建到得到的数据,不能看到或用的底层基表的数据)

    3、数据独立

    总而言之,使用视图的大部分情况是为了保障数据安全性,提高性能查询效率

B、视图的基本用法(可以在视图的基础上再次创建视图)

  1、创建视图

    关键字:view

    语法:create view 视图名 as sql查询语句;

  2、使用语法

    select * from 视图名;

  3、修改视图

    a、  关键字 alter--(修改已存在的视图)

      语法:alter view 视图名 as sql查询语句;

    b、  关键字 replace--(如果十日不存在就创建 存在就修改)

      语法:create or replace view 视图名 as sql查询语句;

  4、删除语法

    关键字: drop

    a、语法:drop view 视图名;

    b、一次删除多个:drop view 视图名1,视图名2,...;

  5、查看视图结构语法

    关键字 show create

    语法:show create view 视图名;

  6、视图更新

    a、可以使用更新语句操作视图

    b、以下情况不能进行视图更新

      a.1 包含以下关键字的sql语句:分组函数、group by 、having、distanct、union和union all

      a.2 常量视图

      a.3 包含子查询

      a.4 如果视图字段不包含基表的非空字段,也是无法进行新增

    c、更新限制

      c.1  with check option

      c.2  对视图的操作无论更新前还是更新后都必须符合查询条件限制

      c.3  特别针对

        1、有where查询的视图

        2、update前后都必须符合where查询条件

        3、insert的值必须符合where查询条件

      c.4  一旦使用with check option; 来约束视图,那么在视图上更新的数据必须符合视图的查询条件

 

  视图:我们不生成数据,我们只是数据的搬运工

标签:语句,视图,查询,语法,数据,view
来源: https://www.cnblogs.com/dyxg/p/13628813.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有