实验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)删除某一借书人及其相关信息。