mysql数据库入门测试题2

🧩 编程题目:学生信息管理系统

一、题目背景

某学校希望开发一个简单的“学生信息管理系统”,用于记录学生的学号、姓名、性别、年龄、所在班级和成绩。请你使用SQL完成数据库的设计和相关查询功能的实现。


二、具体要求

1. 创建数据库(5分)

  • 创建一个名为 school_db 的数据库,字符集为 utf8mb4
  • 如果该数据库已存在,则不重复创建。

2. 创建数据表(10分)

school_db 数据库中创建一张名为 students 的数据表,包含以下字段:

字段名 类型 约束条件
id INT 主键、自增
student_id VARCHAR(20) 唯一、非空
name VARCHAR(30) 非空
gender VARCHAR(10)
age INT
class_name VARCHAR(50)
score DECIMAL(5,2) 默认值为 0.00

3. 插入数据(10分)

students 表中插入如下学生数据(共6条):

student_id name gender age class_name score
S001 张三 18 高一1班 89.5
S002 李四 17 高一1班 92.0
S003 王五 18 高一2班 78.0
S004 赵六 19 高二1班 85.5
S005 小明 17 高二1班 95.0
S006 小红 18 高一2班 88.0

4. 查询操作(每小题5分,共30分)

编写 SQL 语句完成以下查询:

a. 查询所有女生的信息。

b. 查询年龄大于17岁的学生,并按年龄升序排列。

c. 查询每个班级的平均分数,并显示为 avg_score

d. 查询高一1班中成绩高于90分的学生人数。

e. 查询所有姓“张”的学生。

f. 修改 student_id 为 S003 的学生的成绩为 80 分。

g. 删除 student_id 为 S006 的学生记录。

5. 表结构修改(10分)

a. 向 students 表中添加一个新字段 email,类型为 VARCHAR(100),允许为空。

b. 将 class_name 字段的最大长度改为 100。


三、提交内容

请将以下内容打包提交:

  1. 创建数据库和表的完整 SQL 脚本;
  2. 插入数据的 SQL 脚本;
  3. 所有查询和更新操作的 SQL 语句;
  4. 每个查询结果的截图或输出说明(可选);

四、评分标准

项目 分数
数据库创建 5
表结构定义正确 10
插入数据正确 10
查询语句正确性 30
表结构修改正确 10
代码格式规范性 5
总分 70

五、提示

  • 使用 IF NOT EXISTSIF EXISTS 来增强脚本健壮性;
  • 注意字段约束是否符合要求;
  • 排序使用 ORDER BY,分组使用 GROUP BY
  • 修改字段使用 ALTER TABLE ... MODIFY COLUMN
  • 添加字段使用 ALTER TABLE ... ADD COLUMN

做完上面的题目,不要删除数据库和表,我们要把一个csv文件 导入数据库中。csv文件内容如下,需要把下面的内容复制到csv文件中,如果不会复制,我放到群中。怎么导入,需要学习load data命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
student_id,name,gender,age,class_name,score,email
S001,张三,男,18,高一1班,89.5,[email protected]
S002,李四,女,17,高一1班,92.0,[email protected]
S003,王五,男,18,高一2班,78.0,[email protected]
S004,赵六,女,19,高二1班,85.5,[email protected]
S005,小明,男,17,高二1班,95.0,[email protected]
S006,小红,女,18,高一2班,88.0,[email protected]
S007,陈刚,男,18,高三1班,82.5,[email protected]
S008,林雨,女,19,高三2班,91.0,[email protected]
S009,周杰,男,17,高一3班,75.0,[email protected]
S010,吴芳,女,18,高一3班,89.0,[email protected]
S011,郑浩,男,18,高二3班,83.5,[email protected]
S012,黄丽,女,17,高二3班,93.0,[email protected]
S013,徐强,男,19,高三3班,79.0,[email protected]
S014,刘婷,女,18,高三3班,87.5,[email protected]
S015,王磊,男,17,高一4班,90.0,[email protected]
S016,杨雪,女,18,高一4班,86.0,[email protected]
S017,朱勇,男,18,高二4班,81.0,[email protected]
S018,秦月,女,19,高二4班,94.0,[email protected]
S019,胡军,男,17,高三4班,80.5,[email protected]
S020,许静,女,18,高三4班,88.5,[email protected]
S021,邓超,男,18,高一5班,84.0,[email protected]
S022,沈琳,女,17,高一5班,92.5,[email protected]
S023,韩梅,女,18,高二5班,89.0,[email protected]
S024,陆涛,男,19,高二5班,83.0,[email protected]
S025,马飞,男,17,高三5班,77.5,[email protected]
S026,白洁,女,18,高三5班,90.5,[email protected]
S027,程浩,男,18,高一6班,86.0,[email protected]
S028,金婷,女,17,高一6班,91.0,[email protected]
S029,潘伟,男,18,高二6班,85.0,[email protected]
S030,吕娜,女,19,高二6班,87.0,[email protected]
S031,罗强,男,17,高三6班,79.0,[email protected]
S032,贺敏,女,18,高三6班,93.0,[email protected]
S033,方俊,男,18,高一7班,82.5,[email protected]
S034,丁雪,女,17,高一7班,94.0,[email protected]
S035,石磊,男,18,高二7班,81.0,[email protected]
S036,汤丽,女,19,高二7班,88.5,[email protected]
S037,余浩,男,17,高三7班,80.0,[email protected]
S038,汪婷,女,18,高三7班,89.5,[email protected]
S039,严军,男,18,高一8班,87.0,[email protected]
S040,江燕,女,17,高一8班,90.0,[email protected]
S041,陶涛,男,18,高二8班,84.5,[email protected]
S042,赖红,女,19,高二8班,92.0,[email protected]
S043,钟凯,男,17,高三8班,78.5,[email protected]
S044,龚娟,女,18,高三8班,86.0,[email protected]
S045,熊伟,男,18,高一9班,83.0,[email protected]
S046,孟雪,女,17,高一9班,93.5,[email protected]
S047,侯勇,男,18,高二9班,82.0,[email protected]
S048,龙婷,女,19,高二9班,89.0,[email protected]
S049,史强,男,17,高三9班,76.5,[email protected]
S050,焦娜,女,18,高三9班,91.0,[email protected]
[up主专用,视频内嵌代码贴在这]