SQL Server2012 学习之(六) :视图的创建、修改等基本操作
前面几篇博客对数据表的创建,修改等操作进行了分析。数据表中为了避免冗余,只存储最基本的信息,例如身高、体重、年龄等。如果想查看一个人的所有信息,可能要涉及多个数据表(比如有3个数据表分别储存身高、体重和年龄),这时使用视图就可以起到很好的效果。
1.创建视图
1.1可视化界面中进行创建
创建步骤:在数据库(例如AdventureWorks2012)中找到视图选项——>右键“创建视图”——>出现下图界面,此时选取需要查看的表进行添加,这里选取Person.EmailAddress和Person.Passwords,查看邮箱地址和密码之间的关系
添加之后如下图,在两个表中选取需要查看的列,进行勾选(1) 勾选之后(2)中会出现相对应的T-SQL语句,选取完毕后点击执行,出现(3)中的视图。按Ctrl+s进行保存之后即可。
之后可以再视图选项中进行查看
1.2使用T-SQL语句进行创建
创建步骤:新建查询中输入
createviewV_Address_Password
as
selecta.AddressID,b.PasswordHash,b.ModifiedDate //select后面的语句可以在下面两行输入完毕后再输入,这样逻辑关系更加清晰
fromPerson.Addressa,Person.Passwordb
wherea.AddressID=b.BusinessEntityID //此行建立了AddressID和BusinessEntityID的一一对应关系
在视图中即可看到新建的表
2.修改和删除视图
修改和删除也分为两部分:图形化界面操作和T-SQL语句
2.1可视化界面中进行修改和删除
修改:视图界面中选中视图——>右键设计,之后可以在空白处进行添加表(图中添加了PersonPhone,以查看各用户的邮箱和电话信息),在各表中对需要修改的选项进行勾选。修改完后执行。结果如图所示。
删除:选取视图,右键删除
2.2使用T-SQL语句进行修改和删除
新建查询,输入下列语句
alterviewAddress_Passwords_test
as
selecta.AddressID,b.PasswordHash,c.PhoneNumber //同上,select后的语句最后输入
fromPerson.AddressajoinPerson.Passwordb
ona.AddressID=b.BusinessEntityID //将Address和Passwords两张表通过AddressID=b.BusinessEntityID联系起来
joinPerson.PersonPhonec
onc.BusinessEntityID=a.AddressID //将PersonPhone中的BusinessEntityID与Address中的AddressID建立联系,使3张表关联起来。这样就可以查看select语句后的3个具体列的信息
即可,如图所示
删除视图:新建查询,输入
drop view Address_Passwords_test
即可。
3.通过视图修改数据表数据
这种方法虽然不经常用到,但还是稍微提提一下。毕竟多熟悉一下操作总是好的。
先新建一个简单的视图,只添加一个数据表(PersonPhone)
之后在新建查询中输入
select*fromView_1_test
insertintoView_1_test
values('2','1','232-453-2411','2017-11-16 00:00:00.000')
即可替换原有值