读书人

初学者列举小例浅谈数据库之-视图

发布时间: 2012-08-25 10:06:20 作者: rapoo

菜鸟列举小例浅谈数据库之------视图

通过查看表的信息我们可以找到我们所需要的信息,但是当我们有N个表,而且我们需要找的信息不止一个的时候,就像在这汪洋大海中我们要找寻一粒珍珠是多么的困难。而视图成为了我们首选。视图根据我们的需要从一个或者多个表中导出一个我们需要的数据组成虚拟的表呈现在我们面前。通过视图,大大提升了数据库为人民服务的理念。

初学者列举小例浅谈数据库之-视图

T-SQL 语句对视图的管理:

主要分为两大块儿:

第一:对视图的操作

第二:通过视图修改表的信息

下面分说一下

对视图操作:增、删、改、查

1、增

create view view_name[(column [,......n] ) ] ][with encryption]as  select_statement[with check option]

注:view-——name 指定视图名称,column指定视图中的字段名称

with encryption 表示SQL Server加密包含create view 语句文本在内的系统表列

select_statement 用于创建视图中的select语句,利用select命令从表中或者视图中选择列构成新视图的列

with check option 用于强制视图上执行的所有数据修改语句都必须符合由select_statement设置的准则。

2、查

利用sp_helptext 视图名 可以查看视图定义

利用sp_help对象名称 可以显示视图的特征

3、 改:

alter view view_name[(column [,....]][with encryption]as select_statement[with check option]


可以看出修改视图的语法和创建视图的语法完全相同,只是view_name名字的差别(创建是新名字,而修改的则是原有的名字)

针对创建修改视图举例:

company中创建一个“男员工工资视图”,要求返回所有字段,并然后使用alter view语句按如下要求对该视图修改:

1.只留下字段“姓名” 和“工资”,去掉其余字段,

2.并且为“姓名”“工资”加上字段别名分别为“男员工姓名”和“员工工资”

3.加密视图定义,

4.加上with check option子句

解:

创建:

use company

go

create view 男员工工资视图

with encryption

as select * from employee

where 性别='男'

修改:

Alter view 男员工工资视图(男员工姓名,员工工资)

as select 员工姓名,工资 from employee

where 性别=‘男’ with check option

4、删除:

drop view view_name

重命名视图:

sp_rename old_name , new_name

二、视图对表数据的操作:

1、检索数据:

使用select 语句

例子:select * from 视图

where 性别=‘男’

2、添加数据:

使用insert into子句

例子:在使用"项目信息视图"在company表中添加一条记录,字段项目名称为“lys”项目开始日期为“2012-8-11”,项目工期为90天

解:use company

go

insert into 项目信息视图(项目名称,项目开始日期,项目工期)

Values('lys','2012-8-11','90')

go

3、 更新数据:

使用update语句

例子:通过“项目信息视图”视图,使用update语句修改project表中的项目名称为“市场调查”的记录“预计工期”字段值改为120天

解:use company

go

udpate 项目信息视图

set 预计工期=120

where 项目名称=‘市场调查’

go

4、删除数据:

使用delete语句

例子:删除“项目信息视图”视图中的项目负责人“李三”

delete 项目信息视图

where 项目负责人=‘李三’

总结:在对视图操作的语句中,增删改查使用的是create、drop、alter、sp_help(sp_helptext)语句

在视图对表中字段进行修改时,增删改查使用的是inertt、delete、update、select语句

5楼lyg673770712昨天 18:55
不错,加油!
4楼hejingyuan6前天 18:45
学习了,加油
Re: wangxuhebeibd前天 08:21
回复hejingyuan6n加油
3楼wangyongxia921前天 18:45
总结的很详细!
2楼xvshu前天 16:23
基础!
1楼xvshu前天 15:55
很重要
Re: wangxuhebeibd前天 15:55
回复xvshun还是你们两口子 好。。。。

读书人网 >其他数据库

热点推荐