zoukankan      html  css  js  c++  java
  • MySQL中的视图详解

    一.什么是视图?

    简单来说,视图就是从一张表中导出的虚拟表。视图拥有表的结构,但是在数据库中只有视图的定义,但是没有视图中的数据。

    视图是由查询语句从一张表中导出来的数据,不是一张实际的表。

    二.视图的作用

    最大的用处就是将程序与表隔离开来,增加了安全性和简单性。

    三.创建视图

    创建视图是指在已有的表上创建视图,你可以在一张表上创建视图,你也可以在多张表上创建视图。

    3.1查看创建视图的语法:

    select Select_priv(表名用户是否有查询的权限),Create_view_priv(查看用户是否有建视图的权限) FROM   数据库.表名  WHERE  user="用户名"

    例子:

    select Select_priv ,Create_view_priv from mysql.user where user="root";

    结果:

    3.2创建视图步骤:

    语法:create  view   视图名(视图中列属性)    as  select语句 ;(最简单化)

    例子:首先我们来看看我们建立的表:

    select * from text2;

     结果:

    创建语法:

    create view v(vid,vnum1,vday) as select tid,tnum1,tday from text2;

     查看:

    SELECT * FROM study.v;

     结果:一模一样

    四.视图操作

     4.1查看视图的结构:使用关键字  describe

     例子:

    describe v;

     结果:

    4.2修改视图

    当视图基于表的数据改变时,那么我们就需要将修改视图来将视图和表的字段相同。

    4.2.1使用关键字:create or replace view     使用这个语句当这个视图不存在时,他会自动创建一个表,如果他存在那么他将刷新一个表

    语法:create  or  replace view 视图名【(属性清单)】  as  select语句

     4.2.2使用关键字alter

    语法:alter view 视图名 as select语句

    五.更新视图

    更新视图和更新表是一样的,同样也是使用update 语句

     但是存在一点点的小小的限制在修改视图时。

    以下几种情况不能更新视图

    1.视图中含有聚合函数比如count( ),sum( ),max( ),min( )

    2.视图中含有union,union all,distinct,group by having等聚合有关的关键字

    3.常量视图

    4.视图中包含子查询

    六.删除视图

    语法:drop view if exists 视图名

  • 相关阅读:
    浅谈数据分析中的“暗物质”
    浅谈数据分析中的“暗物质”
    房屋价格数据采集与分析
    房屋价格数据采集与分析
    基于Python对象引用、可变性和垃圾回收详解
    基于Python对象引用、可变性和垃圾回收详解
    人脸识别中常用的几种分类器
    人脸识别中常用的几种分类器
    解析新零售,互联网大数据时代的到来
    osg::NodeVisitor中计算一个节点对应的世界变换矩阵、法向量、顶点坐标
  • 原文地址:https://www.cnblogs.com/SAM-CJM/p/9685658.html
Copyright © 2011-2022 走看看