文档库 最新最全的文档下载
当前位置:文档库 › 实验2 数据库数据定义

实验2 数据库数据定义

实验2 数据操纵

1.dc实验目的与要求

(1)掌握使用企业管理器对数据库中数据操作

(2)掌握使用查询分析器对数据库中数据操作

2.实验内容

(1)对“教师授课管理数据库”表中数据进行查询操作

1)在企业管理器中,查询前十名的学生成绩信息,要求:

a)输出项包括学号、姓名、课程号和成绩

b)按成绩号降序排列,成绩相同的则按学号号升序排列;

c)查询结果保存在XSCJ表中

2)在查询分析器中,进行下列查询操作

a)查询所有男学生的姓名、出生日期。

b)查询男女教师的人数。

c)找出年龄在20~23岁之间的学生的学号、姓名和年龄,并按年龄升序排序。

d)找出年龄超过平均年龄的学生姓名。

e)查询成绩不及格的学生信息,包括姓名、学号、课程名和成绩。

f)查询所有讲授“01010105”课程的教师信息。

g)查询1971年以前(含1971年)出生的所有教师的任课信息,包括教师姓名、出生日期、所授课程名、学时数。

h)查询所有未授课的教师信息。

(2)数据更新

1)在查询分析器中,对表中数据进行插入操作

a)向students表中插入几条记录,内容自定。

b)把教师李映雪(教师号为1476,其他内容自定)的记录加入到教师表JS中。

c)删除原GIRL表中的内容,将students表中性别为女的记录添加到GIRL表中。

2)在查询分析器中,对表中数据进行修改操作

a)把所有学生的年龄增加一岁。7

b)将所有选修某一指定课程的学生成绩增加5分。

c)将某个学生的所有成绩置0。

3)在查询分析器中,对表中数据进行删除操作

a)从教师表JS中删除年龄已到60岁的退休教师的数据。

b)将学生表student中的某个学生删除,并删除其他表中与该学生相关的信息。思考与实践

对“图书借阅数据库”中的JS、TS、CBS、JY表进行以下操作:

(1)查询数量在5本以上的图书信息。

select*

from t s

where tnum>5

(2)查询图书总量。

select sum(tnum)

from ts

(3)查询图书总量在前5名的出版社信息。

select*

from cbs

where cno in(

select top(5) cno

from ts

group by cno

order by sum(tnum)desc

)

(4)查询所有“清华大学出版社”的图书信息。

select tsno,tname,tnum,tpos,https://www.wendangku.net/doc/c614899132.html,o

from ts,cbs

where https://www.wendangku.net/doc/c614899132.html,o=https://www.wendangku.net/doc/c614899132.html,o and cname='清华大学出版社'

(5)查询所有还书日期已到(假设图书借阅期限为1个月),但仍未还书的借书人信息。select js.jsno,jname,jdw

from js,jy

where js.jsno=jy.jsno and hdate is null and

getdate()-jydate>30

(6)查询某借书人的所有借阅信息。

select jy.jsno,tsno,jydate,hdate

from js,jy

where js.jsno=jy.jsno and js.jsno='001'

(7)根据图书表TS,建立一个书名中包含有“数据库”的新表DB。

select tsno,tname,tnum,tpos,cno into DB

from ts

where tname like'%数据库%'

(8)将某借书人的某书的还书日期设置为当前系统日期。

update jy

set hdate=getdate()

where jsno='003'

(9)查询本月内借书的所有借书人相关信息,包括借书证号、姓名、单位、书名、借书日期,并将查询结果放到lend表中。

select js.jsno,jname,jdw,tname,jydate into LEND

from js,jy,ts

where js.jsno=jy.jsno and ts.tsno=jy.tsno and

month(jydate)=month(getdate())

(10)查询各借书人的借阅量,要求得到:借书证号、姓名、借书量。

select jy.jsno,count(jy.jsno),jname

from js,jy

where jy.jsno=js.jsno

group by jy.jsno,jname

(11)列出所有有借阅记录的读者信息(不能重复)。

select distinct js.jsno,jname,jdw

from js,jy

where js.jsno=jy.jsno

(12)将某指定图书(给定图书号)的数量减少2本。UPDATE TS

SET TNUM=TNUM-2

WHERE TSNO='10001'

(13)用当前系统日期修改某本书(给定书号)的借书日期。UPDATE JY

SET JYDATE=GETDA TE()

WHERE TSNO='10001'AND JSNO='001'

(14)将某书的信息添加到图书表TS中。

INSERT INTO TS(TSNO,TNAME,TNUM,TPOS,CNO)

V ALUES('10020','嘿嘿',8,'tp0.0.1','c3')

(15)删除某一借书人及其相关信息。

相关文档