视图view定义语句
什么是视图
视图可以看作是一个临时存储的数据所构成的表(非真实表,虚拟表,其内容由一条查询语句来定义),其实本
质上只是一个select语句。只是将该select语句(通常比较复杂)进行一个“包装”,并设定了一个名字,其后就可
以通过该名字来查询表,并把该名字当作一个表来使用。
也可以认为,视图就是一条select语句的查询结果,只是预先放在数据库中而已。可以将此查询结果(有行有列有字段名)当作一个表来使用。
如果一个select语句比较复杂,又在多个页面需要使用它,则可以将它做成一个视图,方便使用。
如果,某个数据表中的某些字段不想给别人看(不同公司之间的数据业务交换的时候),但另一个又需要给人看,此时也可以使用视图。
视图创建
create view 视图名 [(列名1,列名2,...)] as 一条复杂select语句;
- 视图名不能跟表名同名——因为他们都是隶属于数据库的“对象”;
- 视图的默认列名就是定义视图的时候的select语句中设定的列名;
- 视图定义的时候也可以指定自己的列名,但此时指定的列名数应该跟select语句的列名数相等;
- select语句可以从多个表中取用数据,甚至还可以从其他视图中取数据;
- 可以给select语句所取得的列重新命名,也可以不重新命名,则使用select语句中的给定列名。
视图的使用
其实就是当作一个查询表来用(通常只用于select)
select * from 视图名 where 条件 order by .....
修改视图
alter view 视图名 [(列名1,列名2,...)] as select语句;
删除视图
drop view [if exists] 视图名;