zoukankan      html  css  js  c++  java
  • MySQL数据库创建视图

    视图可以说是一种虚拟表,建立在基本表的基础上,通过关联一个表或者多个表来获取多个表中需要的字段,视图只是用来查询数据并不能用来存储数据信息。

    我有以下几张表:

    -------image表----

    ----org表------

    -----user表-----

    ----album表----

    我要将以上四张表关联,可以用sql的join连接语句,但是会很麻烦,现在在mysql中创建一个视图会很方便的解决这四个表连接的问题。sql语句如下:

    CREATE
     VIEW v_image_org_user_album AS--创建视图并命名v_image_org_user_album
        SELECT --先开from中表的命名
            a.id AS imgid,--将a表中的id命名为新的表(视图)中的imgid字段,剩下的都一样,就是将之前的字段重新命名到新视图表中的字段
            a.comment AS comment,
            a.createtime AS createtime,
            a.path AS path,
            b.name AS authorname,
            b.orgcode AS userorgcode,
            c.name AS orgname,
            e.name AS album
        FROM
          t_image a,--image表命名为a
          t_user b,--user表命名为b
          t_organization c,--organzation表命名为c
          t_album_image d,--album_image表命名为d
          t_album e--album表命名为e
        WHERE
            a.useracc = b.account
                AND b.orgcode = c.orgcode
                AND a.id = d.imageid
                AND d.albumid = e.id

    在数据库中的的编译器中执行该段sql语句,生成以v_image_org_user_album命名的视图表,并且会自动匹配到数据库中存储的数据

    然后在项目中创建相应的域类(grails项目),字段就是视图表中新命名的字段,就可以直接按照新字段进行sql语句的增删改查操作,但是,项目移植时视图要重新生成。这样就将多个表进行关联了,可以直接使用视图表中的字段。

  • 相关阅读:
    Win10/UWP开发-Ink墨迹书写
    Win10/UWP 让你的App使用上扫描仪
    Win10/UWP新特性—Drag&Drop 拖出元素到其他App
    UWP/Win10新特性系列—Drag&Drop 拖动打开文件
    1、WIN2D学习记录(win2d实现JS雨天效果)
    Windows 通用应用尝试开发 “51单片机汇编”总结
    D2.Reactjs 操作事件、状态改变、路由
    D1.1.利用npm(webpack)构建基本reactJS项目
    UWP 动画系列之模仿网易云音乐动画
    字符设备驱动之Led驱动学习记录
  • 原文地址:https://www.cnblogs.com/stu-wrl/p/5886880.html
Copyright © 2011-2022 走看看