• mysql视图


    当想由一张表的字段作为条件获取其他表对应的信息的时候。

    • 有外键就使用连表操作。
    • 没有外键就使用原生逻辑(先获取一张表对应的信息,然后将获取的信息当成一张表再进行筛选)。
    select * from (select nid from tb1 where nid > 2) as A

    但是当获取第一张表的信息的时候,结果是由很多操作结合而成的结果,如:可以有很多连表操作等。这样就会导致写很多重复的sql语句。

    而获取表1的结果也是动态查询处理的。并不是一成不变的。

    因此可以将这些公共的sql语句集合在一起,对其进行单独的命名。而这个名字就指代这个表,以后要想利用这个结果进行操作,直接用这名字即可。就不用再重复写sql语句。


    而这些sql语句形成的表,只是一个虚拟表,并不真实的表。这表就是 视图

    1、创建视图

    格式: create view 视图名称 as sql语句

    CREATE VIEW v1 AS 
    SELET nid, 
        name
    FROM
        A
    WHERE
        nid > 4


    navicat创建的结果:

    image

    说明:

    利用查询语句构建成的表,当原表数据进行变化的时候,创建视图的数据也会跟着变化。

    2、删除视图

    格式: drop view 视图名称

    DROP VIEW v1


    3、修改视图

    格式: ALTER VIEW 视图名称 AS SQL语句

    ALTER VIEW v1 AS
    SELET A.nid,
        B. NAME
    FROM
        A
    LEFT JOIN B ON A.id = B.nid
    LEFT JOIN C ON A.id = C.nid
    WHERE
        A.id > 2
    AND C.nid < 5


    4、使用视图

    使用视图时,将其当作表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除操作,仅能做查询用。

    select * from v1

    说明:

    就是将结果当成一张单独的表来时使用,只是这张所谓的表,并非真实的表。

  • 相关阅读:
    PHP学习心得(八)——运算符
    PHP学习心得(九)——函数
    PHP学习心得(十)——控制结构
    PHP学习心得(七)——常量
    PHP学习心得(六)——变量
    PHP学习心得(五)——类型
    PHP学习心得(四)——基本语法
    PHP学习心得(三)——处理表单
    PHP学习心得(二)——实用脚本
    PHP学习心得(一)——简介
  • 原文地址:https://www.cnblogs.com/jayafs/p/7589186.html
Copyright © 2020-2023  润新知