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

    什么是视图

    视图是一个虚拟表,其内容由查询语句定义
    和真实表一样,有行、列、字段等信息

    视图特性

    视图是对若干张基本表的引用
    不存储具体数据,基本表数据发生变化,视图也会跟着改变
    可以和基本表一样,进行 CRUD 操作,修改了视图基本表也会发生变化(有条件限制)

    视图作用

    安全性:让用户不具备基本表的权限,给他开放视图的权限,用户获取的数据也是经过处理的
    方便:sql 代码少,一眼就能看明白

    创建/修改视图

    格式:CREATE OR REPLACE VIEW view_name AS DQL [WITH CHECK OPTION]

    WITH CHECK OPTION 表示在修改视图数据的时候,会验证数据,满足条件才可以修改

    示例1:

    CREATE OR REPLACE VIEW view_boy_name AS (SELECT * FROM students WHERE gender = '');

    上面这个视图没有使用 WITH CHECK OPTION,数据可以随意修改,并且在修改后会影响基表

    示例2:

    CREATE OR REPLACE VIEW view_stu_score AS (SELECT * FROM students WHERE score > 60) WITH CHECK OPTION;

    这个视图在修改 score 字段时,只能大于 60 才让修改

    删除视图

    DROP VIEW 视图名,和删除表语法一样

    使用视图

    SELECT * FROM 视图名 WHERE ...,和查询表语法一样

    不可更改的数据

    不是基表的数据不能修改

    示例:

    CREATE OR REPLACE VIEW view_stu_max_score AS (SELECT MAX(score) AS max_score FROM students);

    上面这个视图查询的字段是 max_score ,这个字段是通过计算得到的,不能修改;类似的还有 DISTINCT、GROUP BY 等查询出来的数据也是计算而得到的,不能修改

  • 相关阅读:
    Linux常用基本命令(cut)
    Linux常用基本命令(tail )
    Linux常用基本命令(head)
    Linux常用基本命令(less)
    Linux常用基本命令(more)
    Linux常用基本命令(cat)
    apache2.4.33伪静态配置入门教程(1)
    ubuntu16.04 linux 编译安装apache2.4.33
    安装apr-1.6.3报错[cannot remove `libtoolT’: No such file or directory]解决方法
    Linux常用基本命令(chmod)
  • 原文地址:https://www.cnblogs.com/huanggy/p/9495976.html
Copyright © 2011-2022 走看看