zoukankan      html  css  js  c++  java
  • mysql视图的操作

    一、创建视图的语法形式

    CREATE VIEW view_name

      AS 查询语句 ;

    使用视图

    SELECT * FROM view_name ;

    二、创建各种视图

    1.封装实现查询常量语句的视图,即所谓的常量视图

    CREATE VIEW view_test1

      AS SELECT 3.1415926;

    2.封装使用聚合函数(SUN,MIN,MAX,COUNT等)查询语句的视图

    CREATE VIEW  view_test2

      AS SELECT COUNT(name) FROM t_student;

    3.封装了实现排序功能(ORDER BY)查询语句的视图

    CREATE VIEW view_test3

      AS SELECT name from t_student ORDER BY id DESC;

    4.封装了实现表内连接查询语句的视图

    CREATE VIEW view_test4

      AS SELECT s.name

        FROM t_student AS s,t_group AS g

          WHERE s.group_id=g.id AND g.id=2;

    5.封装了实现表外连接(LEFT JOIN,RIGHT JOIN)查询语句的视图

    CREATE VIEW view_test5

      AS SELECT s.name

        FROM t_student AS s LEFT JOIN t_group AS g ON s.group_id=g.id

          WHERE g.id=2;

    6.封装了实现子查询相关查询语句的视图

    CREATE VIEW view_test6

      AS SELECT s.name

        FROM t_student AS s

          WHERE s.gruop_id IN(SELECT id FROM t_group);

    7.封装了实现记录联合(UNION,UNION ALL)查询语句的视图

    CREATE VIEW view_test7

      AS SELECT id,name FROM t_student

      UNION ALL

      SELECT id,name FROM t_group;

    三、查看视图

    1.SHOW TABLES;

    即能查看表名还会查看视图

    2.SHOW TABLE STATUS ;

    查看表和视图的详细信息

    SHOW TABLE STATUS

      FROM view LIKE "view _selectproduct" G

    查看view数据库中的view _selectproduct视图

    SHOW CREATE VIEW view_name;

    查看视图的定义信息

    3.DESCRIBE|DESC view_name;

    查看视图设计信息

    4.通过系统表查看视图信息

    USE information_schema;

    SELECT * FROM views WHERE table_name='view_selectproduct' G

    四、删除视图

    DROP VIEW view_name1,view_name2;

    可以一次删除1个或多个视图

    五、修改视图

    1.先删除视图,再重新创建视图

    2.CREATE OR REPLACE VIEW _name

      AS 查询语句;

    3.ALTER VIEW view_name

      AS 查询语句;

    六、利用视图操作基本表

    对视图数据进行添加、删除、更改等操作直接影响基本表;

    视图来自多个基本表时,不允许添加和删除数据。

    view_product是查询所有字段的视图

    1.添加数据操作

    INSERT INTO view_product VALUES(11,'pear4',12.3);

    2.删除数据操作

    DELETE FROM view_product WHERE name=‘apple’;

    3.更新数据操作

    UPDATE view_product set price=3.5 WHERE name='pear';

  • 相关阅读:
    django全文搜索学习心得(一)haystack 篇
    django request get_full_path 中文问题
    django全文搜索学习心得(五) whoosh 精简版
    django全文搜索学习心得(二)solr 篇
    django全文搜索学习心得(四)sphinx篇
    模拟队列
    差分
    模拟栈
    区间合并
    离散化
  • 原文地址:https://www.cnblogs.com/Andy-Lv/p/5357146.html
Copyright © 2011-2022 走看看