实 验 四
实验名称:数据更新 实验学时:2 实验目的:
1) 掌握在企业管理器中对表进行插入、修改和删除数据的操作。 2) 掌握使用T-SQL语句对表进行插入、修改和删除数据的操作。 3) 重点掌握带查询的更新方法。 实验内容及步骤:
(一) 在企业管理器中对数据库中的表进行插入、修改和删除数据 例1:在企业管理器中向数据库gzgl中的表输入数据
在企业管理器中向jbxx表插入记录,选择并用鼠标右击表jbxx →选择“返回所有行” →逐字段输入各记录值,输入完后关闭窗口。
例2:在企业管理器中将表jbxx中编号为020805的记录的部门号改为003
在企业管理器中选择表并用鼠标右击表jbxx →选择“返回所有行” →将光标定位至employee_id为020805的记录的department_id字段,改为003。
例3:在企业管理器中删除数据库gzgl表数据 在企业管理器中删除表jbxx的第3、6行操作步骤:在企业管理器中选择表并用鼠标右击表jbxx →选择“返回所有行” →选择要删除的行 →单击鼠标右键 →删除 →关闭表窗口。
(二) 使用T-SQL语句对表进行插入、修改和删除数据的操作 a. 使用INSERT语句插入数据 语法:INSERT [ INTO]
{ table_name | view_name
}
{[( column_list )]
{ VALUES
( { DEFAULT | NULL | expression } [ ,...n] )
| derived_table }
例1:向数据库gzgl中的表输入数据 use gzgl go
insert into jbxx
values(‘0111112’,’李子林’,’1973_5_3’,’1’,’310107196206088243’,’交通路5号’,’sql@126.com’)
go
单击快捷工具栏的执行图标或按F5,执行上述语句。
b. 使用UPDATE语句更新数据 语法:UPDATE
{ table_name | view_name
20
}
[ FROM { < table_source > } [ ,...n ] SET
column_name = { expression | DEFAULT | NULL }[ ,...n ] [ WHERE search_condition > ]
例2:将表jbxx中编号为020805的记录的部门号改为003 use gzgl go
update jbxx
set department_id=’003’ where employee_id=’020805’ go
例3:将表jbxx中的年龄增加1岁。 use gzgl go
update jbxx
set age=age+1
go
例4:将表jbxx中所有记录的党员属性改为“党员” use gzgl go
update jbxx
set polity=’ 党员’ &&如果没有where子句,则将修改表中的每一行数据
单击快捷工具栏的执行图标或按F5,执行上述语句。 c. 使用DELETE语句删除数据
语法:DELETE [ FROM ]
{ table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name }
[ WHERE
< search_condition >
]
例4:删除jbxx表中编号为020805的记录。use gzgl
go
delete from jbxx
where employee_id=’020805’ 例5:删除数据库gzgl中jbxx表的所有数据
use gzgl
go
delete from jbxx
或者使用TRUNCATE TABLE name
use gzgl go
21
truncate table jbxx
实验习题:
对于“Student”数据库的三个基本表:
S(Sno,Sname,Sage,Ssex,Sdept),C(Cno,Cname,Teacher),SC(Sno,Cno,Grade) 完成如下更新:
(1) 往C表中插入一个课程元祖(’c8’,’VC++’,’BAO’)
(2) 查询平均成绩大于80分的课程名称,并把查询到结果送到另一个已存在的表tem_table(cname)。
(3) 在sc中删除尚无成绩的选课元组。
(4) 把选修LIU老师课程的女生选课元组全部删去。 (5) 把MATHS课不及格的成绩全改为60分。 (6) 把低于所有课程总平均成绩的女生成绩提高5%。
(7) 在表SC中修改C4课程的成绩,若成绩小于等于70分时提高5%,若成绩大于70
分时提高4%。 (8) 在表SC中,当某个成绩低于全部课程的平均成绩时,提高5%。 实验报告要求: ? ? ? ?
实验目的
实验习题的源程序清单
写出在实验过程中遇到的问题及解决方法 要求字迹端正、条理清晰、概念正确
22
实 验 五
实验名称:视图的创建和使用 实验学时:4
实验目的:
1) 了解视图和数据表之间的主要区别 2) 掌握在企业管理器中创建视图的方法。 3) 掌握使用T-SQL语句创建视图的方法。 4) 掌握查看视图修改数据表的方法。 实验内容及步骤:
(一) 在企业管理器中创建视图
①打开企业管理器窗口,打开新建视图对话框。
方法一:在企业管理器左边的“树”选项卡中选择指定的SQL SERVER组,展开指定的服务器,打开要创建视图的数据库文件夹,选中指定的数据库,右击该数据库图标,从弹出的快捷菜单中依次选择“新建”|“视图”选项,打开新建视图对话框。
方法二:在数据库文件夹中,用鼠标右击下一层的“视图”选项,在弹出的快捷菜单中选择“新建视图”选项。
②在新建视图对话框中,右击窗口上部的空白部分,从弹出的快捷菜单中选择“添加表”选项,或者单击工具栏中的按钮,出现“添加表”对话框,在该框中可以选择需要添加的基本表,单击“添加”按钮,就可以添加进去;也可以某个表名来添加表。使用同样的方法可以切换到“视图”或“函数”选项卡,从中选择需要的视图或函数,并依次创建新的视图。
③这里利用Ctrl键和鼠标配合,同时选前面建立的3个表S,SC,C,并单击“添加”按钮,即可将这3个表添加到创建视图对话框中。然后通过单击字段左边的复选框选择需要的字段,这里选择s表中sno,sname,C表中cno,SC表中sno,cno,属性设置如下:
△选中“输出”复选框,可以在输出结果中显示该字段。
△在“准则”复选框中输入限制条件,可以限制输出的记录。在定义视图的查询语句中该相知条件对应WHERE子句。
④右击字段定义对话框,从弹出的快捷菜单中选择“属性”选项,出现视图属性对话框。该对话框中,“distinct值”可以选择不输出重复的记录,“加密浏览”可以实现对视图定义加密,选中“顶端”复选框可以限制视图最多输出的记录条数。
⑤要运行并输出该视图结果,可以在视图设计窗口中单击工具栏中“!”按钮,或右击窗口空白区,在弹出的快捷菜单中选择“运行”选项,则可根据设置的查询语句,在本窗口最下面的数据结果区显示出生成的视图内容。
⑥可以单击工具栏中的“保存”按钮,或者在窗口上部显示数据表的窗格内单击鼠标右键,从弹出的快捷菜单中选择“保存”选项保存视图。 (二) 使用T-SQL语句创建视图
语法:CREATE VIEW
[ < database_name > .] [ < owner > .] view_name [ ( column [ ,...n ] ) ] [ WITH < view_attribute > [ ,...n ] ] AS
select_statement [ WITH CHECK OPTION ]
< view_attribute > ::=
{ ENCRYPTION | SCHEMABINDING |
23
VIEW_METADATA }
例1:建立显示年龄大于20岁的学生学号、姓名、性别等信息的V_S create view V_S as
select sno,sname,sex from s where age>20
例2:创建v_score1,要求基本表来源:S,C,SC;选择的字段为:S表中的sno、sname;C表中的cname及SC表中score;要求查询的数据为学号为20030001的学生的考试成绩。 Use s
create view v_grade As
Select s.sno,s.sname,c.cname,sc.grade From s,c,sc
Where s.sno=sc.sno and c.cno=sc.cno and sno=“20030001”
在查询分析器中执行上面的程序,会生成视图v_score1。为了查看视图中的数据,在查询分析器中输入语句:select * from v_score1。 (三) 使用企业管理器查看视图信息
在企业管理器左边的“树”选项卡中选择指定的SQL SERVER组,展开指定的服务器,打开要查看视图的数据库文件夹,选择数据库文件夹下的“视图”目录,在右边窗格中回列出当前数据库中的所有视图。 ① ② ③
若要查看视图的基本信息,右键单击要查看的视图,在弹出的快捷菜单中选择“属性”选项,打开视图属性对话框;
若要查看视图的相关性信息,右键单击要查看的视图,在弹出的快捷菜单中依次选择“所有任务”│“显示相关性”选项,打开视图相关性对话框。
若要查看视图的输出数据,可以在企业管理器中,右键单击要查看的视图,在弹出的快捷菜单中依次选择“打开视图”│“返回所有行”,在企业管理器中就会显示该视
图的输出数据。
(四) 使用T-SQL语句查看视图信息
c. sp_help 数据库对象名称 报告有关数据库对象(sysobjects 表中列出的任何对象)、用户定义数据类型或 Microsoft? SQL Server? 所提供的数据类型的信息
d. sp_helptext 视图(触发器、存储过程)
显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本。
e. sp_depends 数据库对象名称
显示有关数据库对象相关性的信息(例如,依赖表或视图的视图和过程,以及视图或过程所依赖的表和视图)
(五) 使用企业管理器删除视图
在企业管理器打开要查看视图的数据库文件夹,选择数据库文件夹下的“视图”目录,,右键单击要删除的视图,在快捷菜单中选择“删除”命令,打开“出去对象”对话框 (六) 使用T-SQL语句删除视图
DROP VIEW {view_name} [,?n] 删除视图时,将从sysobjects、syscolumns、syscomments、sysdepends和sysprotects系统表中删除视图的定义及其他有关视图的信息。还将删除视图的所有权限。已删除的表上的任何视图必须通过使用DROP VIEW显示删除 (七) 使用视图
24