奔腾不止
此后如竟没有炬火,我便是唯一的光......

视图目的:屏蔽复杂的表之间关系,给用户呈现一个经过整理,直观,清晰的表结构数据;

视图也是表表达式,它是根据SELECT语句计算或整理出来的虚拟表,创建视图时,要遵守表表达式的要求;

将Student的Enroll列拆分成年,月,日三列:

CREATE VIEW V_Student

AS

SELECT Id,[Name],

YEAR(Enroll) YearEnroll,--新增的计算列

MONTH(Enroll) MonthEnroll,--必须有列名

DAY(Enroll) DayEnroll,--列名不能重复

Age,Score

FROM Student

这个视图是持久化在数据库的,除非显式删除:

DROP VIEW 视图名,视图名......   -------可一次删除多个

可以通过ALTER VIEW修改视图,只能像创建视图一样修改

ALTER VIEW V_Student

AS

SELECT Id,[Name]

YEAR(Enroll) YearEnroll,

MONTH(Enroll) MonthEnroll,

DAY(Enroll) DayEnroll,        --可以不要这一行

Age,Score

FROM Student

WHERE Score>60              --可添加条件

这种创建的视图被称为:标准视图

特点:数据库中存储的视图,其实就是创建视图的SELECT语句,不是实际的物理数据;你看到的视图行和列,都是来自‘基’表或‘基’视图;所以视图上的增删改查,都会反应到基表上,反之亦然;通过视图修改数据,不能忽略基表上的约束:NOT NULL等;

视图的修改:

1,只能修改直接引用基表的列值,通过计算得到的列值不能修改;

2,视图与基表之间的同步:只是行数据,而不是列结构;

 

posted on 2020-09-26 14:34  奔腾不止  阅读(177)  评论(0编辑  收藏  举报