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

    1. 视图的定义

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

    2. 视图的常用操作

    1.创建

    CREATE VIEW 视图名
    AS [DQL语句(SELECT)]

    注:查看视图DESC 视图名或者SHOW CREAT VIEW 视图名,与查看表语法基本一致。

    例如:

    CREATE OR REPLACE VIEW v1 as select concat(lower(substr('Abc',1,1)),upper(substr('Abc', 2)) ) res;

    2 视图的修改

    #方式一
    CREATE OR REPLACE VIEW 视图名
    AS [DQL]
    # 方式二
    ALTER VIEW 视图名
    AS [DQL]

    3. 视图的删除

    DROP VIEW 视图1,视图2,视图3

    4. 视图支持数据插入

    INSERT INTO 视图名 values(XXX, XXX, XXX);

    注意:对视图进行DML(UPDATE|SELECT|DELETE)操作会影响原表的数据

    具备以下特点的视图不允许更新:

    1. 包含分组函数(group by)、distinct、having、union或者union all

    2常量视图

    3SELECT包含子查询

    4. 包含join的连接表查询

    5. FROM A, A为一个没有更新权限的表

    6. where子句的子查询引用了from子句中的表:

    实际情况下,对视图进行更新操作是很少的,如果出现需要禁止视图的DML操作,可以考虑以上6种情况来创建视图。

    3. 视图与表的对比

    对存储而言,视图只是保存了SQL逻辑,而表是保存了数据

    对操作而言,视图一般不使用增删改,主要做查询使用;

  • 相关阅读:
    AppDelegate生命周期详解
    Python基础数据类型
    Linux入门基础
    mac命令节选
    如何在mac下安装android sdk
    Uiatomator2 初步探索
    Uiautumator2学习,Gradle部分
    软件测试基础方法总结
    monkey测试小结
    链表中环的入口结点
  • 原文地址:https://www.cnblogs.com/kisun168/p/11325385.html
Copyright © 2011-2022 走看看