现在的位置: 首页 > 综合 > 正文

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

2013年10月07日 ⁄ 综合 ⁄ 共 2601字 ⁄ 字号 评论关闭

       通过查看表的信息我们可以找到我们所需要的信息,但是当我们有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语句

 

 

 

 

 

 

抱歉!评论已关闭.