视图(VIEW)
视图是一个虚拟表,其定义存储在数据库中。但是,与表不同,视图实际上不包含任何数据。相反,它提供了一种在数据库中存储常用复杂查询的方法。但是,您可以使用SQL SELECT语句来访问视图数据,就像使用普通表或基表一样。
通过允许用户通过视图访问数据,而不是直接授予整个基表访问权限,视图也可以用作安全机制。
优点
- 可重复使用,无需重新编写sql语句。
- 使用视图可以起到安全机制的作用。用户对视图,无法随意的更改或者删除,可以保证数据的安全性。
- ......
缺点
- 性能:查询视图时,必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么就无法更改数据。
- ......
创建视图(CREATE VIEW)
if(exists (select * from sys.objects where name = 'view_name'))
drop view view_name
go
create view view_name as
select * from table_name
查询
select * from view_name