数据库原理中SQL语句实验指导书及答案

更新时间:2024-01-03 18:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四:管理SQL Server表数据

一、实验目的

熟悉数据表结构及使用特点;

熟悉使用Management Stuio界面方式管理数据表数据; 熟悉使用T-SQL语句管理数据表数据。 二、实验环境

已安装SQL Server 2005 企业版的计算机(13台); 具有局域网环境,有固定IP; 三、实验学时

2学时 四、实验要求

了解SQL Server数据表数据的管理方法; 了解SQL Server数据类型;

完成实验报告(部分题只需给出关键语句)。 五、实验内容及步骤

以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:

向各个数据表中插入如下记录: 学生信息表(student)

Sno 200515001 200515002 200515003 200515004 200515005 200515006 200515007 200515008 200515009 200515010 200515011 200515012 200515013 Sname 赵菁菁 李勇 张力 张衡 张向东 张向丽 王芳 王民生 王小民 李晨 张毅 杨磊 李晨 Ssex 女 男 男 男 男 女 女 男 女 女 男 女 女 Sage Sdept 23 CS 20 CS 19 CS 18 IS 20 IS 20 IS 20 CS 25 MA 18 MA 22 MA 20 WM 20 EN 19 MA 1

200515014 张丰毅 男 22 CS 200515015 李蕾 女 21 EN 200515016 刘社 男 21 CM 200515017 刘星耀 男 18 CM 200515018 李贵 男 19 EN 200515019 林自许 男 20 WM 200515020 马翔 男 21 200515021 刘峰 男 25 CS 200515022 牛站强 男 22 200515023 李婷婷 女 18 200515024 严丽 女 20 200515025 朱小鸥 女 30 WM 课程信息表(course)

Cno Cname Cpno Ccredit 1 数据库 5 4 2 数学 2 3 信息系统 1 4 4 操作系统 6 3 5 数据结构 7 4 6 数据处理 2 7 PASCAL语言 6 4 8 大学英语 4 9 计算机网络 4 10 人工智能 2 选课信息表(sc)

Sno Cno Grade 200515001 1 75 200515002 1 85 200515002 3 53 200515003 1 86 200515004 1 74 200515005 1 58 200515006 1 84 200515004 2 46

2

200515005 2 89 200515006 2 65 200515008 2 72 200515009 2 76 200515010 2 96 200515010 8 86 200515011 8 62 200515015 8 0 200515018 8 58 200515001 4 62 200515002 4 85 200515021 9 54 200515001 5 58 200515021 6 58 200515001 7 70 200515005 10 65 200515016 8 Null 200515017 8 Null insert into student.dbo.sc values('20051501','1',75)

insert into student.dbo.course values('1','数据库','5',4)

insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS')

2.修改CS系姓名为?李勇?的学生姓名为?李咏?;

update student set Sname='李咏' where Sname='李勇'

3.修改课程?数据处理?的学分为3学分;

3.update course set Ccredit=3

where Cname ='数据处理'

4.将选修课程?1?的同学成绩加5分;

4.update sc

set Grade =Grade+5 where Cno='1'

5.将选修课程?大学英语?的同学成绩加5分;

update sc

set Grade=Grade+5 from course,sc

where course.Cno=sc.Cno and course.Cname='大学英语'

3

6.将学号为?200515010?的学生信息重新设置为?王丹丹、女、20、MA?;

update student

set Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA' where Sno='200515010'

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

以数据库原理实验4数据库中数据为基础,请使用T-SQL 语句实现以下操作: 1. 列出所有不姓刘的所有学生;

1.select * 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的学生的学号、姓名、性别、年龄及院系;6.select 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 student.Sno =sc.Sno and sc.Cno='1' order by Grade DESC

9.列出同时选修?1?号课程和?2?号课程的所有学生的学号;

select Sno

5

本文来源:https://www.bwwdw.com/article/1kwx.html

Top