第九章:第24节 MySQL基础篇——视图

更新于:2017-08-06 14:58:50

学完第23节,楠神认为基本上对于PHP程序员来说可以完全使用MySQL了,常用的SQL语句都已学完。


再来用两节介绍余下的不常用的MySQL知识(只是楠神自己不常用,不代表这些知识不重要)。


视图


单词:view

什么是视图:

视图可以看作是一个“临时存储的数据所构成的表”(非真实表),其实本质上只是一个select语句。只是将该select语句(通常比较复杂)进行一个“包装”,并设定了一个名字,其后就可以通过该名字并把该名字当作一个表来使用。

如果一个select语句比较复杂,又在多个页面需要使用它,则可以将它做成一个视图,方便使用。

又如果,某个数据表中的某些字段不想给别人看(不同公司之间的数据业务交换的时候),但另一个又需要给人看,此时也可以使用视图。

视图创建形式:

create  view   视图名 [(列名1,列名2,...)]   as  一条复杂select语句;

可以将select语句所取得的列重新命名,但也可以不重新命名,则使用select语句中的给定列名。

视图的使用

其实就是当作一个查询表来用(通常只用于select)

select  *  from  视图名  where 条件  order by .....。

1.png


视图名不能跟表名同名——因为他们都是隶属于数据库的“对象”;

视图的默认列名就是定义视图的时候的select语句中设定的列名;

视图定义的时候也可以指定自己的列名,但此时指定的列名数应该跟select语句的列名数相等;

select语句可以从多个表中取用数据,甚至还可以从其他视图中取数据

修改视图: 

alter view 视图名 [(列名1,列名2,...)] as select语句;


删除视图: 

drop  view  [if exists] 视图名;



总结:


视图就是这么简单,没太多内容,它就是一个虚拟的表。楠神在开发项目中并没有觉着它有什么优势,所以也就没用过视图,都是需要什么表就创建表。