数据库原理及安全技术教学实验报告SQL实践(一)
目录
一、实验目的
二、实验软硬件要求
三、实验预习
四、实验内容(实验步骤、测试数据等)
给定如表3.6、表3.7和表3.8所示的学生信息。
1.在SQL Server中使用对象资源管理器和SQL命令创建学生作业管理数据库,数据库的名称自定。
2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。
3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。
4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。
5..进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。
运行结果:
1.在SQL Server中使用对象资源管理器和SQL命令创建学生作业管理数据库,数据库的名称自定。
2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。
3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。
4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。
5.进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。
一、实验目的
1.掌握在SQL Server中使用对象资源管理器和SQL命令创建数据库与修改数据库的方法、创建数据表和修改数据表的方法。
2.掌握在SQL Server中使用对象资源管理器或者SQL命令创建数据表和修改数据表的方法(以SQL命令为重点)。
3.掌握无条件查询、条件查询、库函数及汇总查询、分组查询、查询的排序、连接查询的使用方法。
二、实验软硬件要求
1、SQL Server 2008
三、实验预习
建库、建表、表约束、数据插入、单表查询、表连接等SQL语句。
四、实验内容(实验步骤、测试数据等)
给定如表3.6、表3.7和表3.8所示的学生信息。
表3.6 学生表S
学号 |
姓名 |
性别 |
专业班级 |
出生日期 |
联系电话 |
0433 |
张艳 |
女 |
生物04 |
1986-9-13 |
|
0496 |
李越 |
男 |
电子04 |
1984-2-23 |
1381290×××× |
0529 |
赵欣 |
男 |
会计05 |
1984-1-27 |
1350222×××× |
0531 |
张志国 |
男 |
生物05 |
1986-9-10 |
1331256×××× |
0538 |
于兰兰 |
女 |
生物05 |
1984-2-20 |
1331200×××× |
0591 |
王丽丽 |
女 |
电子05 |
1984-3-20 |
1332080×××× |
0592 |
王海强 |
男 |
电子05 |
1986-11-1 |
表3.7 课程表C
课程号 |
课程名 |
学分数 |
学时数 |
任课教师 |
K001 |
计算机图形学 |
2.5 |
40 |
胡晶晶 |
K002 |
计算机应用基础 |
3 |
48 |
任泉 |
K006 |
数据结构 |
4 |
64 |
马跃先 |
M001 |
政治经济学 |
4 |
64 |
孔繁新 |
S001 |
高等数学 |
3 |
48 |
赵晓尘 |
表3.8 学生作业表W
课程号 |
学号 |
作业1成绩 |
作业2成绩 |
作业3成绩 |
K001 |
0433 |
60 |
75 |
75 |
K001 |
0529 |
70 |
70 |
60 |
K001 |
0531 |
70 |
80 |
80 |
K001 |
0591 |
80 |
90 |
90 |
K002 |
0496 |
80 |
80 |
90 |
K002 |
0529 |
70 |
70 |
85 |
K002 |
0531 |
80 |
80 |
80 |
K002 |
0538 |
65 |
75 |
85 |
K002 |
0592 |
75 |
85 |
85 |
K006 |
0531 |
80 |
80 |
90 |
续表
课程号 |
学号 |
作业1成绩 |
作业2成绩 |
作业3成绩 |
K006 |
0591 |
80 |
80 |
80 |
M001 |
0496 |
70 |
70 |
80 |
M001 |
0591 |
65 |
75 |
75 |
S001 |
0531 |
80 |
80 |
80 |
S001 |
0538 |
60 |
80 |
1.在SQL Server中使用对象资源管理器和SQL命令创建学生作业管理数据库,数据库的名称自定。
(1)使用对象资源管理器创建数据库,请给出重要步骤的截图。
(2)删除第(1)步创建的数据库,再次使用SQL命令创建数据库,请给出SQL代码。
(3)创建数据库之后,如果有需要,可以修改数据库。
2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。
字段名 |
数据类型 |
长度或者精度 |
默认值 |
完整性约束 |
…… |
…… |
…… |
…… |
|
…… |
…… |
…… |
…… |
3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。
4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。
5. 进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。
(1)查询各位学生的学号、班级和姓名。
(2)查询课程的全部信息。
(3)查询数据库中有哪些专业班级。
(4)查询学时数大于60的课程信息。
(5)查询在1986年出生的学生的学号、姓名和出生日期。
(6)查询三次作业的成绩都在80分以上的学号、课程号。
(7)查询姓张的学生的学号、姓名和专业班级。
(8)查询05级的男生信息。
(9)查询没有作业成绩的学号和课程号。
(10)查询学号为0538的学生的作业1总分。
(11)查询选修了K001课程的学生人数。
(12)查询数据库中共有多少个班级。
(13)查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。
(14)查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。
运行结果:
1.在SQL Server中使用对象资源管理器和SQL命令创建学生作业管理数据库,数据库的名称自定。
(1)使用对象资源管理器创建数据库,请给出重要步骤的截图。
(2)删除第(1)步创建的数据库,再次使用SQL命令创建数据库,请给出SQL代码。
create database 学生作业管理数据库;
2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。
表3.6
字段名 |
数据类型 |
长度或者精度 |
默认值 |
完整性约束 |
学号 |
Char(9) |
9字节 |
Primary key |
|
姓名 |
Char(20) |
20字节 |
unique |
|
性别 |
Char(2) |
20字节 |
||
专业班级 |
Char(20) |
20字节 |
||
出生日期 |
date |
|||
联系电话 |
Char(11) |
11字节 |
表3.7
字段名 |
数据类型 |
长度或者精度 |
默认值 |
完整性约束 |
课程号 |
Char(9) |
9字节 |
Primary key |
|
课程名 |
Char(20) |
20字节 |
unique |
|
学分数 |
Numeric(2.1) |
小数点一位 |
||
学时数 |
smallint |
2字节 |
||
任课教师 |
Char(20) |
20字节 |
表3.8
字段名 |
数据类型 |
长度或者精度 |
默认值 |
完整性约束 |
课程号 |
Char(9) |
9字节 |
Primary key,foreign key |
|
学号 |
Char(9) |
9字节 |
Primary key,foreign key |
|
作业1成绩 |
Int |
4字节 |
||
作业2成绩 |
Int |
4字节 |
||
作业3成绩 |
Int |
4字节 |
3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。
create table S
(Sno char(9) primary key,
Sname char(20) unique,
Ssex char(2),
Sclass char(20),
Sbirth date,
tell char(11)
);
create table C
(Cno char(9) primary key,
Cname char(20) unique,
Ccredit numeric(2,1),
Chour smallint,
Cteacher char(20)
);
create table W
(Cno char(9) ,
Sno char(9) ,
Wn1 int,
Wn2 int,
Wn3 int,
primary key(Cno,Sno),
foreign key(Sno) references S(Sno),
foreign key(Cno) references C(Cno)
);
4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。
5. 进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。
(1)查询各位学生的学号、班级和姓名。
select Sno,Sclass,Sname
from S;
(2)查询课程的全部信息。
select *
from C;
(3)查询数据库中有哪些专业班级。
select distinct Sclass
from S;
(4)查询学时数大于60的课程信息。
select *
from C
where Chour>60;
(5)查询在1986年出生的学生的学号、姓名和出生日期。
select Sno,Sname,Sbirth
from S
where Sbirth>='1986-1-1'
and Sbirth<'1987-1-1';
或者
select Sno,Sname,Sbirth
from S
where Sbirth like '%1986%';
来自2023年1月数据库培训记录,g,我还再学数据库O-O
% 表示任意字符出现任意次数。(这里的任意当然包括 0 、1、无数)
_ 只匹配单个字符。
(6)查询三次作业的成绩都在80分以上的学号、课程号。
select W.Sno,W.Cno
from W
where Wn1>80
and Wn2>80
and Wn3>80;
(7)查询姓张的学生的学号、姓名和专业班级。
select Sno,Sname,Sclass
from S
where Sname like'张%';
(8)查询05级的男生信息。
select *
from S
where Sclass like'%05'
and Ssex='男';
(9)查询没有作业成绩的学号和课程号。
select Sno,Cno
from W
where Wn1 is NULL
or Wn2 is NULL
or Wn3 is NULL;
(10)查询学号为0538的学生的作业1总分。
select Sum(Wn1) as 总分数
from W
where Sno=0538;
(11)查询选修了K001课程的学生人数。
select count(Sno) as 选修K001课程的学生人数
from W
where Cno ='K001';
(12)查询数据库中共有多少个班级。
select count(distinct Sclass) as 班级数
from S;
(13)查询选修三门以上(含三门)课程的学生的学号和作业1平均分、作业2平均分和作业3平均分。
select Sno,AVG(Wn1)as Wn1平均分,AVG(Wn2)as Wn2平均分,AVG(Wn3)as Wn3平均分
FROM W
GROUP BY Sno/*按学生分组 */
Having COUNT(Cno)>=3
(14)查询于兰兰的选课信息,列出学号、姓名、课程名(使用两种连接查询的方式)。
select S.Sno,S.Sname,C.Cname
FROM W
inner join S
on S.Sno=W.Sno
inner join C
on C.Cno=W.Cno
where S.Sname='于兰兰';
select S.Sno,S.Sname,C.Cno
from W,S,C
where S.Sno=W.Sno
and W.Cno=C.Cno
and S.Sname='于兰兰';
五、实验体会
操作不够熟练,需要加强练习。
数据库原理及安全技术教学实验报告SQL实践(一)相关推荐
- 数据库原理及安全技术教学实验报告SQL实践(二)
目录 一.实验目的 二.实验软硬件要求 三.实验预习 四.实验内容(实验步骤.测试数据等) 运行结果: 1.使用查询语句完成以下任务(每一个查询都要给出SQL语句,并且列出查询结果). 2.使用数据操 ...
- 《数据库原理与应用》实验一
题目来源学校课后作业,禁商业用途,仅用于课业学习 <数据库原理与应用>实验一 一.实验目的及要求 1.掌握MySQL系统的数据库创建方式. 2.掌握MySQL系统的数据表的创建方式. 3. ...
- 《数据库原理与应用》实验二
题目来源学校课后作业,禁商业用途,仅用于课业学习 <数据库原理与应用>实验二 一.实验目的及要求 1.掌握SQL查询语言的使用. 2.掌握SQL流程控制语句的使用. 3.要求独立完成,并记 ...
- 微型计算机标致寄存器实验报告,微型计算机原理与接口技术实验报告册.doc
微型计算机原理与接口技术实验报告册 河南省高等教育自学考试 实 验 报 告 册 汽车检测与维修专业(本科) <微型计算机原理与接口技术> 市 地:_______________ 考生姓名: ...
- c语言冒泡法排序实验报告,四川大学微机原理冒泡法排序实验报告.doc
四川大学微机原理冒泡法排序实验报告四川大学微机原理冒泡法排序实验报告 <微机原理与接口技术实验报告> 学 院: 电气信息学院 班 级: 电力 老 师: 学 号: 姓 名: 目 录 实验目的 ...
- 微型计算机系统实验报告,《微型计算机系统原理及应用》实验报告1.doc
<微型计算机系统原理及应用>实验报告 实验步骤: 1.将源程序文件夹masm500存于根目录e中. 2.在win7下,单击"开始一所有程序一附件一命令提示符"进入&qu ...
- SQL触发器总结 - sql server 2012数据库基础-触发器及应用-实验报告
这是我大三第一学期<数据库基础>这门课的实验报告,总共15个实验,我挑了几个比较重要的放在博客上,方便查看和复习,尤其是最近SSM后端开发,希望对大家,以及将来的我有所帮助! 实验要求 在 ...
- SQL存储过程总结 - sql server 2012数据库基础-存储过程及应用-实验报告
这是我大三第一学期<数据库基础>这门课的实验报告,总共15个实验,我挑了几个比较重要的放在博客上,方便查看和复习,尤其是最近SSM后端开发,希望对大家,以及将来的我有所帮助! 本文是存储过 ...
- 数据库 查询计算机系姓王,数据库上机实验报告——SQL Server 2008 简单查询.doc
实验题目SQL Server 2008 简单查询实验时间2016年5月13日实验地点T616实验成绩 实验性质□验证性 √设计性 □综合性教师评价: □算法/实验过程正确: □源程序/实验内容提交 □ ...
- [渗透攻防] 一.从数据库原理学习网络攻防及防止SQL注入
这是最近自己学习渗透和网站攻防的文章,希望能深入地学习这部分知识,同时认了Na师傅和Rong师傅,知道了人外有人.天外有天,真的很享受这种探索问题.解决问题和分析知识的过程.希望文章对你有所帮助,尤其 ...
最新文章
- sql列转行函数oracle,SQL列转行
- 关机时 ,提示其他用户登录到这台计算机,关闭WINDOWS会使他们丢失数据
- Flask web开发之路四
- cvc降噪和主动降噪_降噪蓝牙耳机哪款好?300内建议入手的五款主动降噪蓝牙耳机...
- 计算机监控检修维护规程,DL/T 1009-2016 水电厂计算机监控系统运行及维护规程
- PAT-BASIC-1039-到底买不买
- JavaScript 进阶(二)变量作用域
- python中的运算和运算符
- b+树阶怎么确定_B站公布年度弹幕,这个排名我不太服气
- Linux操作系统原理与应用07:内核同步
- linux搭建phantomjs+webdriver+testng+ant自动化工程
- 存图方式---邻接表邻接矩阵前向星
- 如何使用Firepath工具方法定位元素
- Desmos图形计算器创建回归方程
- ubuntu双系统时间不一致现象
- SNES 与 NES 游戏模拟机区别与 SNES Classic界面实现,
- 前端理解base64
- WatchGuard Firebox X50硬件防火墙
- Audition 入门系列(合集)_MediaTea的博客-CSDN博客
- Python和NLP构建你自己的简历解析器