MySQL数据库之视图

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38225558/article/details/82813321

视图:由SELECT语句组成的虚拟表。(一般只用来查询,不进行增删改的操作)

注意:
1.视图是虚拟表,可以把视图看着一个表,进行增删改查等操作。但视图不会存储数据,它的数据来源于SELECT查询语句。
2.视图每次执行,都会执行一次SELECT查询,获取最新的数据。相当于一次子查询。

为什么要使用视图??

1.简化复杂的查询。常用的、比较复杂的SELECT语句,创建一个视图,就能方便以后多次调用。
2.安全原因。比如,只想让权限低的用户看到一个表的部分字段,而隐藏机密的部分。

注意:如果视图包含下述结构中的任何一种,那么它就是不可更新的!!

1.聚合函数;
2.DISTINCT关键字; 
3.GROUP BY子句; 
4.HAVING子句; 
5.UNION运算符; 
6.位于选择列表中的子查询; 
7.FROM子句中包含多个表; 
8.SELECT语句中引用了不可更新视图; 
9.WHERE子句中的子查询,引用FROM子句中的表; 
10.ALGORITHM 选项指定为TEMPTABLE(使用临时表总会使视图成为不可更新的)。

创建视图:

create view 视图名 as select 查询语句;

查询视图:

select 字段名 from 视图名 where 子句 ...;

修改视图:

alter view 视图名 as select 查询语句;

删除视图:

drop view 视图名;

视图注意事项:

1.视图的名字必须唯一,不能和其他表或视图重名。
2.视图可以嵌套使用,也就是视图里面可以再次调用视图。
3.视图的创建和删除只影响视图本身,不影响所使用的基本表,

最后小结一下:

1.视图是由SELECT查询组成的虚拟表,是逻辑表,不是真正存在的实表。
2.使用视图,可以简化复杂查询逻辑。
3.使用视图,可以隐藏真实的表结构。起到安全的作用。

猜你喜欢

转载自blog.csdn.net/qq_38225558/article/details/82813321