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

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

1.创建视图


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

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

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

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

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

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

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

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

创建步骤:新建查询中输入
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 的一一对应关系

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

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

2.修改和删除视图

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

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

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

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

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

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

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个具体列的信息

即可,如图所示

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

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

drop  view  Address_Passwords_test

即可。

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

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

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

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


你可能感兴趣的:(SQL,Server2012)