一、实验目的
1.掌握在SQL Server中使用对象资源管理器和SQL命令创建数据库与修改数据库的方法。
2.掌握在SQL Server中使用对象资源管理器或者SQL命令创建数据表和修改数据表的方法(以SQL命令为重点)。
3.掌握无条件查询的使用方法。
4.掌握条件查询的使用方法。
二、实验内容
给定如表3.6、表3.7和表3.8所示的学生信息。
表3.6 学生表
学号 | 姓名 | 性别 | 专业班级 | 出生日期 | 联系电话 |
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 课程表
课程号 | 课程名 | 学分数 | 学时数 | 任课教师 |
K001 | 计算机图形学 | 2.5 | 40 | 胡晶晶 |
K002 | 计算机应用基础 | 3 | 48 | 任泉 |
K006 | 数据结构 | 4 | 64 | 马跃先 |
M001 | 政治经济学 | 4 | 64 | 孔繁新 |
S001 | 高等数学 | 3 | 48 | 赵晓尘 |
表3.8 学生作业表
课程号 | 学号 | 作业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 |
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)使用对象资源管理器创建数据库,请给出重要步骤的截图。
1)创建数据库,输入数据库名称为学号姓名,点击添加按钮:
2)添加完成后即可在数据库中看到已添加的数据库。
(2)删除第(1)步创建的数据库,再次使用SQL命令创建数据库,请给出SQL代码。
1)删除上一步创建的数据库,选中数据库右键删除即可。
2)使用SQL命令创建数据库,SQL代码如下:
create database 你的学号姓名
执行此段代码后,刷新即可成功创建数据库。
(3)创建数据库之后,如果有需要,可以修改数据库。
2.对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。
(1)对表3.6进行定义说明,见下表3.6.1
表3.6.1 学生表
字段名 | 数据类型 | 长度或者精度 | 默认值 | 完整性约束 |
id | varchar | 10 | Not null Primary key | |
name | varchar | 10 | null | |
sex | varchar | 5 | null | |
class | varchar | 10 | null | |
birth | varchar | 15 | null | |
phone | varchar | 20 | null |
(2)对表3.7进行定义说明,见下表3.7.1
表3.7.1 课程表
字段名 | 数据类型 | 长度或者精度 | 默认值 | 完整性约束 |
CourseId | varchar | 10 | Not null Primary key | |
CourseName | varchar | MAX | null | |
credit | float | null | ||
time | int | null | ||
teacher | varchar | 10 | null |
(3)对表3.8进行定义说明,见下表3.8.1
表3.8.1 作业表
字段名 | 数据类型 | 长度或者精度 | 默认值 | 完整性约束 |
CourseId | varchar | 10 | Not null Primary key | |
id | varchar | 10 | Not null Primary key | |
Score1 | int | null | ||
Score2 | int | null | ||
Score3 | int | null |
3.使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表,在实验报告中给出SQL代码。
(1)建立学生表,SQL代码如下:
CREATE TABLE 学生表
(
id VARCHAR(10) NOT NULL,
name VARCHAR(10) NULL,
sex VARCHAR(5) NULL,
class VARCHAR(10) NULL,
birth VARCHAR(15) NULL,
phone VARCHAR(20) NULL,
CONSTRAINT 学生表_pk PRIMARY KEY (id)
);
(2)执行上述代码,刷新即可看到建立的学生表,如下图所示:
2.建立课程表,SQL代码如下:
CREATE TABLE 课程表
(
CourseId VARCHAR(10) NOT NULL,
CourseName VARCHAR(MAX) NULL,
credit FLOAT NULL,
time INT NULL,
teacher VARCHAR(10) NULL,
CONSTRAINT 课程表_pk PRIMARY KEY (CourseId)
);
(4)执行上述代码,刷新即可看到建立的课程表,如下图所示:
(5)建立作业表,SQL代码如下:
CREATE TABLE 作业表
(
CourseId VARCHAR(10) NOT NULL,
id VARCHAR(10) NOT NULL,
score1 INT NULL,
score2 INT NULL,
score3 INT NULL,
CONSTRAINT 作业表_pk PRIMARY KEY (CourseId, id)
);
(6)执行上述代码,刷新即可看到建立的作业表,如下图所示:
4.在各个表中输入表3.6、表3.7和表3.8中的相应内容。
(1)在学生表中输入表3.6的内容,如下图所示:
(2)在课程表中输入表3.7的内容,如下图所示:
(3)在作业表中输入表3.8的内容,如下图所示:
5.根据创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下的查询操作(每一个查询都要给出SQL语句,列出查询结果)。
- 查询各位学生的学号、班级和姓名。
i.SQL语句如下:
SELECT id, Class, Name
FROM 学生表;
ii.执行语句后,输出结果为:
- 查询课程的全部信息。
i. SQL语句如下:
SELECT *
FROM 课程表;
ii.执行语句后,输出结果为:
- 查询数据库中有哪些专业班级。
i. SQL语句如下:
SELECT DISTINCT class
FROM 学生表;
ii.执行语句后,输出结果为:
- 查询学时数大于60的课程信息。
i. SQL语句如下:
SELECT *
FROM 课程表
WHERE time > 60;
ii.执行语句后,输出结果为:
- 查询在1986年出生的学生的学号、姓名和出生日期。
i. SQL语句如下:
SELECT id, name, birth
FROM 学生表
WHERE YEAR(birth) = 1986;
ii.执行语句后,输出结果为: