一、视图本身
a>、创建
格式:Create view <视图名> [<视图列表>] as子查询
解说:视图列表为可选项,自己可以任意的书写视图列表名,省略时(但是,视图由多个表连接得到,且在不同的表中存在同列名,或者,视图的列名为表达式或库函数的计算结果时,视图列表名不能省略),视图的列名就等于的列表名。
举例:创建一个物理系教师的姓名,性别情况的视图Sub_T。(教师信息表为Teacher_Info)
Creat view Sub_T(T_Name,T_Sex)
As select T_Name,T_Sex from Teacher_Info where Dept=’物理’
b>、删除
格式:drop view <视图名>
解说:视图删除后,只会删除该视图在数字字典中的定义,不影响所依据的基础表。
c>、修改
格式:alter view <视图名> [(视图列表)] as <子查询>
举例:修改视图Sub_T,使其可以观察到物理系教师的工资。
Alter view Sub_T(T_Name,T_Sex,T_Salary)
As Select T_Name,T_Sex,T_Salary From Teacher_Info Where Dept=’物理’
二、视图内数据(对视图中表的操作和对基表中的表的操作是一样)
a>、查询
举例:查询视图Sub_T中姓名为“张三”的老师的所有信息
Select * from Sub_T where T_Name=’张三’
b>、更新
1>、添加
举例:向视图添加一条记录(教师名:李四;性别:男;工资:3000)
Insert into Sub_1(T_Name,T_Sex,T_Salary)
Values(‘李四’,’男’,3000)
过程描述:系统执行此语句时,首先从数据词典中找到Sub_T的定义,然后,把此定义和添加操作结合起来,转化成等价的对基本表Teacher_Info的添加。
2>、修改
举例:修改视图Sub_1中张三老师的工资,工资变为400
Update Sub_1
Set T_Salary=4000
Where T_Name=’张三’
3>、删除
举例:删除视图Sub_1中张三老师的信息
Delete from Sub_1
Where T_Name=’张三’
注意:对数据库对象操作的T_SQL语句几乎都是一样的。对照前面的总结。
补充:
1、建立视图用到的复合函数