数据库实验报告一 2_第1页
数据库实验报告一 2_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE6/NUMPAGES6数据库实验报告一2数据库理论与技术实验报告

2012-2013第二学期

实验二:SQL的数据定义和更新

指导教师:虞勤国

实验时间:2013年4月1日实验地点:计算中心二楼班级:

组长:

组员:

成绩:

实验二:SQL的数据定义和更新

实验目的

熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。

实验内容

建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。

实验步骤:

创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。数据库XSGL包含下列3个表:

(l)student:学生基本信息。

(2)course:课程信息表。

(3)sc:学生选课表。

各表的结构分别如表1、表2和表3所示。

表2课程信息表:course

表3学生选课表:sc

一.数据库的建立:

1.用可视化界面建立:

(a)在SQLSERVER中用企业管理器-新建数据库;

2.命令方式建立:

(a)在SQLSERVER中,在查询分析器中使用T-SQL语句:

CREATEDATABASEXSGL

ON(NAME='XSGL_DATA',

FILENAME='c:\XSGL.MDF',

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=5%)

LOGON

(NAME='XSGL_Log',

FILENAME='c:\XSGL_Log.ldf',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB)

二.表的建立:

1.用可视化界面建立:

在SQLSERVER中用企业管理器—数据库—XSCJ—表—右键—新建表;

实验结果,如下所示:

2.命令方式建立:

在SQLSERVER中查询分析器的编辑窗口中用下列SQL语句:

useXSGL

Createtablestudent(snoCHAR(5),snameCHAR(10),ssexCHAR(2),sageint,sdeptCHAR(4))go

Createtablecourse(cnoCHAR(2),cnameCHAR(30),creditINT,pcnoCHAR(2)NULL)

go

Createtablesc(snoCHAR(5),cnoCHAR(2),gradeINTNULL)

Go

三.表数据的添加:

1.用可视化方法:

I:在SQLSERVER中用企业管理器—数据库—XSCJ—表-表名—右键-打开表-返回所有行;

输入下列数据:

snosnamessexsagesdept

95001李勇男20CS

95002刘晨女19IS

95003王敏女18MA

95004张立男19IS

95005刘云女18CS

cnocnamecreditpcno

1数据库45

2数学6

3信息系统31

4操作系统46

snocnograde950011929500128595001

38895002290

95002380950032859500415895004

2

85

要求:(1)给出输入数据后的数据库表的窗口截图

实验结果,如下所示:

1)建立学生信息表:student的结果:

2)建立课程信息表:course的结果:

3)建立学生选课表:sc的结果:

5数据结构476数据处理37

PASCAL语言

4

6

(2)因为下面要用命令行方式插入同样数据,请在清空SQLSERVER查询分析器的编辑窗口中使用deletefrom命令先清空以上三表。

实验结果,以清空学生信息表:student为例,如下所示:

清空学生信息表:student的结果:

2.在SQLSERVER查询分析器的编辑窗口中使用下列SQL语句插入数据:

insertintostudent(sno,sname,ssex,sage,sdept)values('95001','李勇','男',20,'CS')

insertintostudent(sno,sname,ssex,sage,sdept)values('95002','刘晨','女',19,'IS')

insertintostudent(sno,sname,ssex,sage,sdept)values('95003','王敏','女',18,'MA')insertintostudent(sno,sname,ssex,sage,sdept)values('95004','张立','男',19,'IS')

insertintostudent(sno,sname,ssex,sage,sdept)values('95005','刘云','女',18,'CS')

go

insertintocourse(cno,cname,credit,pcno)values('1','数据库',4,'5')

insertintocourse(cno,cname,credit,pcno)values('2','数学',6,null)

insertintocourse(cno,cname,credit,pcno)values('3','信息系统',3,'1')

insertintocourse(cno,cname,credit,pcno)values('4','操作系统',4,'6')

insertintocourse(cno,cname,credit,pcno)values('5','数据结构',4,'7')

insertintocourse(cno,cname,credit,pcno)values('6','数据处理',3,null)

insertintocourse(cno,cname,credit,pcno)values('7','PASCAL语言',4,'6')

go

insertintosc(sno,cno,grade)values('95001','1',92)

insertintosc(sno,cno,grade)values('95001','2',85)

insertintosc(sno,cno,grade)values('95001','3',88)

insertintosc(sno,cno,grade)values('95002','2',90)

insertintosc(sno,cno,grade)values('95002','3',80)

insertintosc(sno,cno,grade)values('95003','2',85)

insertintosc(sno,cno,grade)values('95004','1',58)

insertintosc(sno,cno,grade)values('95004','2',85)

Go

要求:给出上述命令执行结果

实验结果,如下所示:

1)建立学生信息表:student的结果:

2)建立课程信息表:course的结果:

3)建立学生选课表:sc的结果:

四.表数据的修改:

1.用可视化方法:

在SQLSERVER中用企业管理器—数据库—XSCJ—表-表名—右键-打开表-返回所有行;在表格中将相应的数据修改即可。

实验结果,如下所示:

将学号为95001学生的年龄增加一岁,结果如下:

2.命令方法:

将所有学生的年龄增加一岁:updatestudentsetsage=sage+1

将4号课程的学分改为4:updatecoursesetcredit=4wherecno=4

设置7号课程没有先行课:updatecoursesetpcno=nullwherecno=7

将95001号学生的1号课程的成绩增加3分:updatescsetgrade=grade+3wheresno=’95001’andcno=’1’

要求:显示修改结果

实验结果,如下所示:

1)将所有学生的年龄增加一岁:updatestudentsetsage=sage+1的结果:

2)将4号课程的学分改为4:updatecoursesetcredit=4wherecno=4的结果:

3)设置7号课程没有先行课:updatecoursesetpcno=nullwherecno=7的结果:

4)将95001号学生的1号课程的成绩增加3分:updatescsetgrade=grade+3wheresno=’95001’andcno=’1’的结果:

五.表数据的删除:

1.用可视化方法:

在SQLSERVER中用企业管理器—数据库—XSCJ—表-表名—右键-打开表-返回所有行;

单击左边的行标记,选定某一行,或单击后拖动选择相邻的多行,再右击鼠标选择弹出式菜单中的删除。

实验结果,如下所示:

在course表中,将课号为1、2所在行删除,结果如下:

2.命令方法:

1)请自己设计几条针对所见三表的select查询命令,显示结果。设计了多表查询的同学可以给我看,根据设计情况决定是否加分。

a.选出student中的sname、ssex,并且将sname改为姓名、ssex改为性别

selectsnameAs姓名,ssexAs性别

fromstudent

wheresdept='CS'

b.选出成绩大于等于90的课程名称

selectcname

fromsc,course

wherehttp://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmlo=http://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmloAndgrade>=90

c.选出成绩及格而且课程名为数学的学生学号、学生姓名、成绩,并且按照分数从高到底的顺序排列出来

selectstudent.sno,sname,cname,grade

fromsc,course,student

wherehttp://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmlo=http://./doc/de8d31e6ac51f01dc281e53a580216fc710a537b.htmloAndsc.sno=student.sno

Andgrade>=60Andcname='数学'

orderbygradedesc

2)删除学号为95005的学生的记录:deletefromstudentwheresno=’95005’

3)删除所有的课程记录:deletefromcourse

4)删除成绩为不及格(少于60分)的学生的选课记录:deletefromscwheregrade<60

说明:虽然是分组实验,以组为单位交一份报告。但实验中间我要抽查,请诸位人人行动,放手一做。

实验结果,如下所示:

1)几条针对所见三表的select查询命令,显示的结果

a.选出student中的sname、ssex,并且将sname改为姓名、ssex改为性别

b.选出成绩大于等于90的课程名称

c.选出成绩及格而且课程名为数学的学生学号、学生姓名、成绩,并且按照分数从高到底的顺序排列出来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论