有道云地址“:
sql视图的使用
什么是视图?
视图是一个虚拟的表,是由一个预定义的查询组成
视图的特点。
1、视图可以像表一样进行insert,update,delete操作。但是却有一定的限制:
》如果是单表的视图,是可以进行以上操作
例子:CREATE VIEW view_1 AS SELECT * FROM 某个表
》如果是单表,但是里面具有统计字段,则不能
例子:CREATE VIEW view_1 AS SELECT id ,count(*) FROM 某个表
》如果是多表,如果是一对一的关系,则可以
例子:CREATE VIEW view_1 AS select *
from userinfo,employeeinfo where
userinfo.employeeid=employeeinfo.employeeid
》否则,则不可以
2、视图中可以使用视图,函数,但是不能使用存储过程,不能创建索引,不能有相关联的触发器和默认值,sql server不能在视图后使用order by排序(这里注意:是在视图后而不是视图中,视图中是可以使用的)。
两种创建方式:
第一种 通过create:
CREATE VIEW view_1 AS SELECT * FROM 某个表
第二种 通过sql数据库操作:
点击数据库中的视图》选择新建视图
然后回弹出数据库中的表、视图、函数,你可以通过这里勾选视图中所需要的表、视图、函数,这样sql 就会自动帮你生成好相关的sql语句,保存即可。
如果像创建的视图比较复杂,相关语句自己打可能快些的话,可以直接点击关闭,将你写好的查询语句直接复制进底部的最后一个框中即可完成创建
写好你的查询语句:
例子:select * from 表1 a left join 表2 b on a.id=b.aid
优点:
1、作为系统应用讲,进行多表查询,需要list或table时,创建数据模型是一个痛点,使用视图的话,可以直接使用ef建模,会自动创建该视图的数据模型。方便快捷
2、便于相关人员的管理和使用,使用视图进行组合查询时,并不需要修改原表的数据结构
3.、如果对于数据库中其他表的数据或者数据结构比较敏感的话,可以设置权限让其只看视图,这样便于数据安全管理
删除视图的方法
Drop view 视图名称