数据库第二次实验内容
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 数据库的操作实验
【实验目的】
1、掌握在SQL SERVER 2008下进行数据备份和还原的方法。
2、掌握SQL语句的查询功能和数据更改功能。
3、掌握数据库的索引创建和维护功能。
【实验内容】
1.还原student数据库,还原数据库所用的文件为studentbak。
启动Microsoft SQL Server Management Studio后,右键单击数据库,在弹出菜单中选择“还原数据库”菜单项
在还原数据库窗口中,首先填写目标数据库为:student,然后选择“源设备”,并点击“源设备”后的选择按钮
钮。
点击确定按钮,还原数据库。
2.利用SQL语句执行以下数据更改功能:
(1).删除所有同学的选课记录。
delete from sc
(2).为所有同学增加一门数据库技术与应用的选修课程。(执行实验2-2-1.sql)
新建查询,并选择数据库为“student”
文件,点击“打开”按钮。
执行“实验2-2-1.sql”文件中的sql代码。
declare @sno varchar(10)
declare @cno varchar(10)
declare stmp cursor for select sno from student
select @cno = cno from course where cname='数据库技术与应用'
open stmp
fetch next from stmp into @sno
while@@fetch_status=0
begin
insert into sc(sno,cno)values(@sno, @cno)
fetch next from stmp into @sno
end
close stmp
go
(3).为所有学号为07开头的同学增加一门概率论与数理统计的选修课程。(执行实验2-2-2.sql)
方法同上
declare @sno varchar(10)
declare @cno varchar(10)
declare sstmp cursor for select sno from student where
substring(sno,1,2)='07'
select @cno = cno from course where cname='概率论与数理统计'
open sstmp
fetch next from sstmp into @sno
while@@fetch_status=0
begin
insert into sc(sno,cno)values(@sno, @cno)
fetch next from sstmp into @sno
end
close sstmp
go
(4).为所有学号为08开头的同学增加一门常微分方程的选修课程。(执行实验2-2-3.sql)
方法同上
declare @sno varchar(10)
declare @cno varchar(10)
declare ssstmp cursor for select sno from student where
substring(sno,1,2)='08'
select @cno = cno from course where cname='常微分方程'
open ssstmp
fetch next from ssstmp into @sno
while@@fetch_status=0
begin
insert into sc(sno,cno)values(@sno, @cno)
fetch next from ssstmp into @sno
end
close ssstmp
go
(5).随机更新所有同学课程的考试成绩,要求考试成绩的分布范围是0到100分,包括0分和100分。(执行实验2-2-4.sql)
方法同上
use student
go
declare @sno varchar(10)
declare @cno varchar(10)
declare tmp cursor for select sno,cno from sc
open tmp
fetch next from tmp into @sno, @cno
while@@fetch_status=0
begin
update sc set grade =cast(rand()*100 as int)where sno=@sno and cno = @cno
fetch next from tmp into @sno, @cno
end
close tmp
go
(6).删除常微分方程课程的考试成绩为0分的学生的选课记录。
delete from sc
where grade=0 and cno=(select cno from course where cname='常
微分方程')
3.利用SQL语句执行以下查询功能:
(1).查询学分大于2.0的课程情况,列出课程号、课程名、学分、学时。