zoukankan      html  css  js  c++  java
  • 数据库之视图

    一个视图是一个或一组SQL语句,存储在数据库中相关的名称,一个视图实际上是一个预定义的SQL查询中的表的形式组成。 
    一个视图可以包含一个表的所有行,或选择表中的行,从一个或多个表上写SQL查询创建一个视图,视图可以被创建。

    这是一种虚拟表的视图,允许用户执行以下操作: 

    1:发现自然或直观的用户或用户类的结构数据的形式 

    2:限制访问的数据,例如,用户可以看到和修改正是他们所需要的并没有更多

    3:总结从可以用于生成报告的各种表的数据

    4:视图不允许增删改操作 只可以查看

    创建视图: 

    使用create view语句创建数据库视图,从一个单一的表,多个表,或另一个视图也可以再创建视图,要创建一个视图,用户根据具体的实施必须有相应的系统权限。

    基本的create view语法如下:

    1,创建视图

    --格式:CREATE VIEW 视图名称 AS  SQL语句
    CREATE VIEW v1 AS 
    SELET nid, 
        name
    FROM
        A
    WHERE
        nid > 4

    2,删除视图

    --格式:DROP VIEW 视图名称
    
    DROP VIEW v1

    3,修改视图

    -- 格式:ALTER VIEW 视图名称 AS SQL语句
    
    ALTER VIEW v1 AS
    SELET A.nid,
        B. NAME
    FROM
        A
    LEFT JOIN B ON A.id = B.nid
    LEFT JOIN C ON A.id = C.nid
    WHERE
        A.id > 2
    AND C.nid < 5

    4,使用视图

    select * from v1

    5,使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用。

    在使用过程中正常的SQL select查询,可以包含多个表的select语句中的方式非常相似。

    性能问题 
    因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时所需的任一检索。如果你用多个连接和过滤创建了复杂的视图或者嵌套了视图,可能会发现性能下降的厉害,因此,在部署使用了大量视图的应用前,应该进行测试。

    视图用create view语句创建 
    使用show create view viewname;来查看创建视图的语句。 
    用drop删除视图,其语法是drop view viewname 
    更新视图时,可以先用drop再用create,也可以直接用create or replace view。

    视图是可更新的,即可以对它们使用insert,update和delete,但并非所有的视图都是可更新的,有局限性。

    重点请参考:https://www.cnblogs.com/xiaz/p/5324504.html

  • 相关阅读:
    第一模块第一章 review
    python练习题:三级菜单
    python list()总结
    python中index()、find()方法
    python中join()函数、list()函数补充的用法
    python中关键字的总结
    python中for循环的用法
    python中range()、list()函数的用法
    python中pop()函数的用法
    python中split()、os.path.split()函数用法
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/9370519.html
Copyright © 2011-2022 走看看