数据库原理中SQL语句实验指导书及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四:管理SQL Server表数据
一、实验目的
熟悉数据表结构及使用特点;
熟悉使用Management Stuio界面方式管理数据表数据;
熟悉使用T-SQL语句管理数据表数据。
二、实验环境
已安装SQL Server 2005 企业版的计算机(13台);
具有局域网环境,有固定IP;
三、实验学时
2学时
四、实验要求
了解SQL Server数据表数据的管理方法;
了解SQL Server数据类型;
完成实验报告(部分题只需给出关键语句)。
五、实验内容及步骤
以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:
向各个数据表中插入如下记录:
学生信息表(student)
课程信息表(course)
选课信息表(sc)
insert into
insert into values('1','数据库','5',4)
insert into values('1','赵菁菁','女',23,'CS')
2.修改CS系姓名为“李勇”的学生姓名为“李咏”;update student
set Sname='李咏'
where Sname='李勇'
3.修改课程“数据处理”的学分为3学分;
course
set Ccredit=3
where Cname ='数据处理'
4.将选修课程“1”的同学成绩加5分;
sc
set Grade =Grade+5
where Cno='1'
5.将选修课程“大学英语”的同学成绩加5分;update sc
set Grade=Grade+5
from course,sc
where = and ='大学英语'
6.将学号为“0”的学生信息重新设置为“王丹丹、女、20、MA”;
update student
set Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'
where Sno='0'
7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)
8.删除数据表student中无专业的学生记录;
delete
from student
where Sdept is null
9.删除数据表student中计算机系年龄大于25的男同学的记录;
delete
from student
where Ssex='男' and Sage>25 and Sdept='CS'
10.删除数据表course中学分低于1学分的课程信息;
delete
from course
where Ccredit<1
实验五:数据库单表查询
一、实验目的
1.掌握SELECT语句的基本语法和查询条件表示方法;
2.掌握查询条件表达式和使用方法;
3.掌握GROUP BY 子句的作用和使用方法;
4.掌握HAVING子句的作用和使用方法;
5.掌握ORDER BY子句的作用和使用方法。
二、实验环境
已安装SQL Server 2005 企业版的计算机(13台);
具有局域网环境,有固定IP;
三、实验学时
2学时
四、实验要求
1.了解数据库查询;
2.了解数据库查询的实现方式;
3.完成实验报告;
五、实验内容及步骤
以数据库原理实验4数据库中数据为基础,请使用T-SQL 语句实现以下操作:1.列出所有不姓刘的所有学生;
*
from student
where Sname not like '刘%'
2.列出姓“沈”且全名为3个汉字的学生;
select *
from student1
where Sname like'沈__'
3.显示在1985年以后出生的学生的基本信息;
select *
from student
where YEAR(GETDATE())-Sage>1985
4.按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按
以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为“条件不明”;
select 性别=
case
when Ssex='男' then'男生'
when Ssex='女' then'女生'
else '条件不明'
end,Sno 学号,Sname 码,Sage 年龄,Sdept 院系
from student
5.查询出课程名含有“数据”字串的所有课程基本信息;
select *
from course
where Cname like '%数据%'
7.显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性别、年龄及院系;Sno,Sname,Ssex,Sage,Sdept
from student
where Sno like '_______[1,2,3,4,9][1,2,3,4,9]%'
8.列出选修了‘1’课程的学生,按成绩的降序排列;
select student.*,sc.*
from student,sc
where = and ='1'
order by Grade DESC
9.列出同时选修“1”号课程和“2”号课程的所有学生的学号;
select Sno