关于MySQL排序: 同样的SQL语句,用来创建视图排序就变乱了,而如果直接执行语句就非常正常

关于MySQL排序: 同样的SQL语句,用来创建视图排序就变乱了,而如果直接执行语句就非常正常,第1张

我的理解是视图是把各自的数据按不同的表排列然后再按照字段排序,而直接SQL出来的数据则是按照数据排序,你可以看看你左侧的表是不是相同表的数据都集中在一起,想正确排序的话还是主动order by一下,别自动排序了

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

这个可以啊,就是创建一个联合视图,使用union all 就可以包含重复的id了。

视图是存储的sql脚本,并没有存储具体的数据,具体数据还是存储在脚本所引用的表中了(例如你提到的表1和表2)。视图只是从表1和表2中提取数据,所以,当表中的内容更改了,实体中的内容也就更改了(因为数据是来源表)。

其实就是相当于我们带着眼镜(视图)看世界(表),世界(表)内容变了,眼镜(视图)中看到的自然也就变了。

希望能有帮助,^_^ 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7358010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存