mysql创建视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql创建视图相关的知识,希望对你有一定的参考价值。

两个表 a ,b
a表结构
aid | pid
1 1
2 1
3 2
b表结构
aid aname
1 aa
我想创建一个视图
获取a表中的pid的在b表中的信息数量
create view pv_comments as select a.pid,count(b.aid) as amount from a,b where a.aid=b.aid
结果只有一条信息骂我想可能是用了聚合函数吧,哪位高手有什么办法可以解决

看看是不是你想要的效果

    select a.pid,count(b.aid)as amount from a left join b on a.aid=b.aid group by pid

参考技术A

mysql创建视图

    首先查询select select_priv,create_view_priv from mysql.user where user ='root';

    创建视图create view depart_view as select * from depart;

    查询试图结构:desc depart_view;

    第二钟创建视图:create view depart_view2(id,name) as select id,name from depart;

    以上是单表上创建视图;

    多表的视图创建:create algorithm=merge view student_view1(id,name,sex) as select worker.id,name,sex from worker,student where worker.id = student.w_id with local check option;

    查看视图的方法:

    1、describe student_view1;

    2、show create view student_view1;

    3、show table status like '视图名' ;

    所有视图定义都存在information_schema数据库下的views表中。查询views表,可以查看到数据库中所有视图的详细信息。查询的语句如下:select * from information_schema.views;

参考技术B create view pv_comments as select pid,count(aid) as amount from a where aid in (select aid from b) 参考技术C 按照你上面表的数据跟你给的条件(WHERE后的内容)结果就只有一条信息啊。你的问题没看懂。

以上是关于mysql创建视图的主要内容,如果未能解决你的问题,请参考以下文章

从 mysql 中的查询创建视图 - mysql 不允许创建视图

mysql 视图

如何使用 MySQL 强制创建视图?

mysql中如何建立视图?

关于mysql视图的问题。见补充

在 Mysql 中自动创建视图