zoukankan      html  css  js  c++  java
  • MySQL之视图

    1、概念:

    视图,虚拟表,从一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据 视图中,用户可以使用SELECT语句查询数据,也可以使用INSERT,UPDATE,DELETE修改记录,视图可以使用户操作方便,并保障数据库系统安全。

    2、语法

    创建方法:

        CREATE

            [OR REPLACE]

            [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

            [DEFINER = { user | CURRENT_USER }]

            [SQL SECURITY { DEFINER | INVOKER }]

            VIEW view_name [(column_list)]

            AS select_statement

            [WITH [CASCADED | LOCAL] CHECK OPTION]

    删除视图:

        DROP VIEW [IF EXISTS]

            view_name [, view_name] ...

            [RESTRICT | CASCADE]

    3、优缺点

    优点:

      简单化,数据所见即所得

      安全性,用户只能查询或修改他们所能见到得到的数据

      逻辑独立性,可以屏蔽真实表结构变化带来的影响

     缺点:

      性能相对较差,简单的查询也会变得稍显复杂

      修改不方便,特变是复杂的聚合视图基本无法修改

    4、举例

    查看主表信息
    mysql > SELECT * FROM student;
    +-------+-------+------+
    | StuID | Name  | Age  |
    +-------+-------+------+
    |     1 | tom   |   20 |
    |     2 | jerry |   30 |
    |     3 | bob   |   40 |
    +-------+-------+------+
    
    创建视图
    mysql > CREATE VIEW view_stu SELECT * FROM student WHERE Age>=25;
    
    查询视图
    mysql > SELECT * FROM view_stu;
    +-------+-------+------+
    | StuID | Name  | Age  |
    +-------+-------+------+
    |     2 | jerry |   30 |
    |     3 | bob   |   40 |
    +-------+-------+------+
    
    查看某表是否为视图
    mysql > SHOW TABLE STATUS LIKE 'view_stu'G
    *************************** 1. row ***************************
               Name: view_stu
             Engine: NULL
            Version: NULL
         Row_format: NULL
               Rows: NULL
     Avg_row_length: NULL
        Data_length: NULL
    Max_data_length: NULL
       Index_length: NULL
          Data_free: NULL
     Auto_increment: NULL
        Create_time: NULL
        Update_time: NULL
         Check_time: NULL
          Collation: NULL
           Checksum: NULL
     Create_options: NULL
            Comment: VIEW      此处信息表示为视图
    1 row in set (0.00 sec)
    
    删除视图
    mysql > DROP VIEW  view_stu
  • 相关阅读:
    推荐系统实践
    python实现itemCF and userCF
    Mahout分步式程序开发 基于物品的协同过滤ItemCF
    用Maven构建单机Mahout项目
    Apache Mahout:适合所有人的可扩展机器学习框架
    mahout0.7 示例运行纪实
    win7基于mahout推荐之用户相似度计算
    cygwin
    Mahout初体验
    Android慎用layout嵌套, 尽量控制在5层下面java.lang.StackOverflowError
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11810381.html
Copyright © 2011-2022 走看看