SQL Server2012 学习之(六) :视图的创建、修改等基本操作

前面几篇博客对数据表的创建,修改等操作进行了分析。数据表中为了避免冗余,只存储最基本的信息,例如身高、体重、年龄等。如果想查看一个人的所有信息,可能要涉及多个数据表(比如有3个数据表分别储存身高、体重和年龄),这时使用视图就可以起到很好的效果。

1.创建视图


1.1可视化界面中进行创建
创建步骤:在数据库(例如AdventureWorks2012)中找到视图选项——>右键“创建视图”——>出现下图界面,此时选取需要查看的表进行添加,这里选取Person.EmailAddress和Person.Passwords,查看邮箱地址和密码之间的关系



添加之后如下图,在两个表中选取需要查看的列,进行勾选(1) 勾选之后(2)中会出现相对应的T-SQL语句,选取完毕后点击执行,出现(3)中的视图。按Ctrl+s进行保存之后即可。



之后可以再视图选项中进行查看



1.2使用T-SQL语句进行创建



创建步骤:新建查询中输入
create view V_Address_Password
as
        select a . AddressID , b . PasswordHash , b . ModifiedDate     //select后面的语句可以在下面两行输入完毕后再输入,这样逻辑关系更加清晰
        from Person . Address a , Person . Password b
        where a . AddressID = b . BusinessEntityID               //此行建立了 AddressID BusinessEntityID 的一一对应关系

在视图中即可看到新建的表



2.修改和删除视图

修改和删除也分为两部分:图形化界面操作和T-SQL语句



2.1可视化界面中进行修改和删除

修改:视图界面中选中视图——>右键设计,之后可以在空白处进行添加表(图中添加了PersonPhone,以查看各用户的邮箱和电话信息),在各表中对需要修改的选项进行勾选。修改完后执行。结果如图所示。



删除:选取视图,右键删除

2.2使用T-SQL语句进行修改和删除

新建查询,输入下列语句
alter view Address_Passwords_test
as
       select a . AddressID , b . PasswordHash , c . PhoneNumber     //同上,select后的语句最后输入
       from Person . Address a join Person . Password b          
          on a . AddressID = b . BusinessEntityID               //将Address和Passwords两张表通过 AddressID = b . BusinessEntityID联系起来
          join Person . PersonPhone c
          on c . BusinessEntityID = a . AddressID              //将 PersonPhone中的 BusinessEntityID与 Address 中的 AddressID建立联系,使3张表关联起来。这样就可以查看select语句后的3个具体列的信息

即可,如图所示



删除视图:新建查询,输入

drop  view  Address_Passwords_test

即可。

3.通过视图修改数据表数据
这种方法虽然不经常用到,但还是稍微提提一下。毕竟多熟悉一下操作总是好的。
先新建一个简单的视图,只添加一个数据表(PersonPhone)



之后在新建查询中输入
select * from View_1_test
insert into View_1_test
values ( '2' , '1' , '232-453-2411' , '2017-11-16 00:00:00.000' )
即可替换原有值




  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值