--视图
--什么是视图,视图是包含一张或多张表的列杂合成的数据集,是由SQL语句查询结果所构成的
--视图是虚拟表,表中数据其实是从真实表中引用而来的,真实表数据改变,所引用的视图也变
--对视图可以进行增删改查,与普通表无异,修改有一定限制
--使用视图的优点
--a,视点集中,用户只看到自己需要的数据
--b,简化操作,主要表现在大量的复杂的查询时候简化
--c,定制数据,可以让不同用户看到不同的数据
--d,合并分割数据,如果表的数据量太大时候,对表进行垂直水平分割时候,影响表结构,而采用视图就不会
--e,安全性,通过视图用户只能修改删除看到自己的那一部分
--注意事项:
--1,只能自当前数据库中创建视图,最多只能1024列
--2,不能在视图上创建索引,不能在规则,默认,触发器,张引用视图
--3,查询中不能有临时表,不能包含 order by ,into 子句
--4,一个视图只能包含一条SQL语句
--5,列名不能为空没有的必须取别名
--缺点
--性能差,修改限制
if exists(select * from sys.databases where name ='stuDB1')
drop database stuDB1
go
create database stuDB1
go
use stuDB1
go
create table bank
(
cusId int primary key identity,
cusName nvarchar(16),
cusMoney money check(cusMoney>=1 and cusMoney<100000 ) --约束规定账户里面金额不能少于1元
)
go
insert into bank values('马超',2000)
insert into bank values('孙权',1000)
--创建一个视图
go
create view view_bankAll
as
select * from bank--其中语句可以随意写,但只能一条哦
go
--创建视图查询钱最多的一个人
create view view_maxMoney
as
select max(cusMoney) '存款' from bank
go
select * from view_maxMoney
--删除视图
DROP VIEW view_maxMoney
select max(cusMoney) from bank