MySQL高级-视图

こ雲淡風輕ζ 提交于 2020-01-28 08:55:47

‘’’
视图
1.问题
对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需要
等原因发生了变化,为了保证查出来的数据与之前相同,则需要在多个地方进行修改
维护起来非常麻烦

解决办法:定义视图

2.视图是什么
通俗的讲,视图就是一条SELECT语句执行后返回的结果集,所在我们在创建视图的时候
主要的工作就落在创建这条SQL查询的语句上。

视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据
(基本表数据发生了变化,视图也会跟着改变);

为了方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;

3.定义视图
建议以v_开头

create view 视图名称 as select语句;

4.查看视图
查看表会将所有的视图也列出一
show tables;

5.使用视图
视图的用途就是查询
select * from v_stu_score;

6.删除视图
drop view 视图的名称;
drop view v_stu_sco;

7.视图案例
select p.id,p.‘province’,c.‘city’ from provinces as p inner join cities as c on p.‘provinceid’=c.‘prvinceid’
having p…

8.视图的修改
视图不能做修改有下列内容之一:
1.select句子中包含distinct
2.select句子中包含组函数
3.select句子中包含group by
4.select句子中包含order by
5.where子句中包含相关子查询
6.from子句中包含多个表
7如果视图中有计算列
8如果基表中有某个具有非空约束的列未出现在视图定义中


9.视图的作用:
1.提高了重用性 就像一个函数
2.对数据库重构 却不影响程序的运行
3.提高了安全性能,可以对不同用户给不同的显示
4.让数据更清晰

‘’’

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!