• MySQL学习随笔--视图


    视图概念

    数据库中的视图指的是一个虚拟表,其内容由查询定义。同真实的表一样,视图也是由行与列构成的。视图的数据来源由SQL语句查询得到,不存储数据

    视图创建方法

    格式 :

    create view 视图名称 as SQL查询

    说明:

    1. create view //创建视图
    2. 视图名称 //也就是虚拟表的名称è表名
    3. as 后面跟查询语句,不可省略

    查看视图创建语句

    格式:

    1. show create view 视图名称
    2. show create view 视图名称 G

    注意:

    1. G表示列名垂直显示
    2. 不加G列以水平显示
    3. G后面不能加分号

    查看视图结构

    desc 视图名称

    显示所有视图

    格式:

    select * from information_schema.views ;

    说明:

    所有的视图均存储在information_schema的views表中

    修改视图

    格式:

    1. alter view 视图名称 as SQL查询
    2. create or replace view 视图名称 as SQL查询 //有该视图则修改,无该视图则创建

    更新视图中数据

    格式:

    update 视图名称 set 字段名称 = 字段值 where[条件] //与正常表的更新相同

    注意:

    视图修改的是原始表中的数据,所以一般不通过视图修改基表

    删除视图

    drop view 视图名称

    视图的算法

    概述:

    指的是一个视图在什么时候执行,依据哪些方式执行

    执行方式:

    1. merge合并算法

      合并的执行方式,每当执行的时候,先将视图的sql语句与外部查询视图的sql语句,合并在一起,最终执行

      格式:

      create algorithm = merge view 视图名称 as SQL查询语句

    2. temptable临时表算法

      先执行视图再执行其他操作的查询

      临时表模式,每当查询的时候,将视图所使用的select语句生成一个结果的临时表,再在当前的临时表内进行查询

      格式:

      create algorithm = temptable view 视图名称 as SQL查询

    3. 通过实例理解merge ,temptable算法的差异

    视图的应用场景

    1. 通过视图简化sql语句
    2. 隐藏某些字段,保护信息

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       

       


     

  • 相关阅读:
    Jquery
    day87-Django创建程序步骤,路由系统和项目执行
    day86-Django安装、cmd控制台操作
    day85-Django初识-自己开发的web框架
    day84-bootstrap
    day83-pymysql操作mysql,pycharm安装pymysql的方法(驱动)
    day82-jQuery-事件、动画、each、data、插件
    day81-jQuery-文档操作
    day80-jQuery-属性操作
    day79-jQuery-文本操作
  • 原文地址:https://www.cnblogs.com/EdwinChan/p/7399873.html
Copyright © 2020-2023  润新知