数据库第二次实验内容

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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的课程情况,列出课程号、课程名、学分、学时。

相关文档
最新文档