mysql创建视图的sql语句_MySQL数据库创建视图

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

我有以下几张表:

591527c02db987e22e88466d16c71f34.png

a710ca539ee8cdb0bcec84feb545ed74.png

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

8ede3a083cfad6e20520f8e87570b0b0.png

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

a8a8cecaa629f8fad45a2240699f46f6.png

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

1378a14de2926780458f97c5fbb240f2.png

----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语句的增删改查操作,但是,项目移植时视图要重新生成。这样就将多个表进行关联了,可以直接使用视图表中的字段。

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页