视图
1 问题
对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦
解决办法:定义视图
2. 视图是什么
通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。
视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);
3 视图的优点
方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;
4 . 定义视图
建议以v_开头
create view 视图名称 as select语句;
create view V_demo as select id,name from demo;
5 查看视图
查看表会将所有的视图也列出来
show tables;
6 使用视图
视图的用途就是查询
select * from 视图名称;
select * from V_demo;
7 删除视图
drop view 视图名称;
8.视图的修改
有下列内容之一,视图不能做修改
select子句中包含distinct
select子句中包含组函数
select语句中包含group by子句
select语句中包含order by子句
where子句中包含相关子查询
from子句中包含多个表
如果视图中有计算列,则不能更新
如果基表中有某个具有非空约束的列未出现在视图定义中,则不能做insert操作
9 视图的作用
提高了重用性,就像一个函数
对数据库重构,却不影响程序的运行
提高了安全性能,可以对不同的用户
让数据更加清晰