mysql查询所有学生的学号,姓名和出生年份,并在查询结果中修改列表题分 别为“学号”、“姓名”和“出生年份”。
在MySQL中,如果你想查询所有学生的学号(可能称为student_id
或id
)、姓名和出生年份(假设为birth_year
),并同时更新列表题目分数(这里假设为list_score
字段),你需要分别执行两个操作:查询数据和更新数据。因为数据库查询通常不会直接修改数据,但如果是练习环境允许的话,你可以这样做:
查询原始数据:
SELECT student_id, name AS "学号", birth_year AS "出生年份" FROM students;
这里用了AS关键字给列起了更友好的名字。
更新数据(需要谨慎操作,因为实际环境中这一步会被隔离,防止意外数据更改):
UPDATE students SET list_score = your_new_value WHERE some_condition; -- replace 'your_new_value' with the actual new score and 'some_condition' with a filter for specific students
替换
your_new_value
为新的列表得分,some_condition
为指定哪些学生应该被更新的具体条件。
注意:在生产环境中,更新操作通常是通过事务或其他安全机制进行的,不会在单次查询中完成。
1. 查询全体学生的学号和姓名 2. 查询全体学生的详细记录 3. 查询所有选修过课程的学生学号 4. 查询考试有不及格的学生学号 5. 查询考试有不及格的学生学号 查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别 6. 查询选修了四号课的学生学号和成绩,结果按成绩降序排列 7. 查询每个课程号和相应的选课人数 8. 查询计算机系的学生姓名,年龄,系别 9. 查询年龄18-20岁的学生学号,姓名,年龄,系别 10. 查询姓刘的学生情况 11. 查询既选修1号课程,又选修2号课程的学生学号 12. 查询学生的姓名和出生年份 13. 查询没有成绩的学生的学号和课程号 14. 查询总成绩大于200分的学生学号 15. 查询每门课程不及格学生人数 16. 查询不及格课程超过三门的学生学号 17. 查询年龄在10到19岁之间的学生信息 18. 查询全体学生情况,按所在系升序排列 19. 查询选了1号课程的学生平均成绩 20. 查询选了3号课程的学生最高分 21. 查询每个同学的总成绩 用MySQL实现
很抱歉,我是一个语言模型AI,无法直接访问数据库。但我可以告诉你一些SQL语句,供你参考:
- 查询全体学生的学号和姓名
SELECT 学号, 姓名 FROM 学生表;
- 查询全体学生的详细记录
SELECT * FROM 学生表;
- 查询所有选修过课程的学生学号
SELECT DISTINCT 学号 FROM 选课表;
- 查询考试有不及格的学生学号
SELECT DISTINCT 学号 FROM 成绩表 WHERE 成绩 < 60;
- 查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别
SELECT 性别, 年龄, 系别 FROM 学生表 WHERE 系别 NOT IN ('IS', 'CS');
- 查询选修了四号课的学生学号和成绩,结果按成绩降序排列
SELECT 学号, 成绩 FROM 成绩表 WHERE 课程号 = '4' ORDER BY 成绩 DESC;
- 查询每个课程号和相应的选课人数
SELECT 课程号, COUNT(*) AS 选课人数 FROM 选课表 GROUP BY 课程号;
- 查询计算机系的学生姓名,年龄,系别
SELECT 姓名, 年龄, 系别 FROM 学生表 WHERE 系别 = 'CS';
- 查询年龄18-20岁的学生学号,姓名,年龄,系别
SELECT 学号, 姓名, 年龄, 系别 FROM 学生表 WHERE 年龄 BETWEEN 18 AND 20;
- 查询姓刘的学生情况
SELECT * FROM 学生表 WHERE 姓名 LIKE '刘%';
- 查询既选修1号课程,又选修2号课程的学生学号
SELECT 学号 FROM 选课表 WHERE 课程号 IN ('1', '2') GROUP BY 学号 HAVING COUNT(DISTINCT 课程号) = 2;
- 查询学生的姓名和出生年份
SELECT 姓名, YEAR(出生日期) AS 出生年份 FROM 学生表;
- 查询没有成绩的学生的学号和课程号
SELECT 学号, 课程号 FROM 选课表 WHERE NOT EXISTS (SELECT * FROM 成绩表 WHERE 选课表.学号 = 成绩表.学号 AND 选课表.课程号 = 成绩表.课程号);
- 查询总成绩大于200分的学生学号
SELECT 学号 FROM 成绩表 GROUP BY 学号 HAVING SUM(成绩) > 200;
- 查询每门课程不及格学生人数
SELECT 课程号, COUNT(*) AS 不及格人数 FROM 成绩表 WHERE 成绩 < 60 GROUP BY 课程号;
- 查询不及格课程超过三门的学生学号
SELECT 学号 FROM 成绩表 WHERE 成绩 < 60 GROUP BY 学号 HAVING COUNT(*) > 3;
- 查询年龄在10到19岁之间的学生信息
SELECT * FROM 学生表 WHERE 年龄 BETWEEN 10 AND 19;
- 查询全体学生情况,按所在系升序排列
SELECT * FROM 学生表 ORDER BY 系别 ASC;
- 查询选了1号课程的学生平均成绩
SELECT AVG(成绩) AS 平均成绩 FROM 成绩表 WHERE 课程号 = '1';
- 查询选了3号课程的学生最高分
SELECT MAX(成绩) AS 最高分 FROM 成绩表 WHERE 课程号 = '3';
- 查询每个同学的总成绩
SELECT 学号, SUM(成绩) AS 总成绩 FROM 成绩表 GROUP BY 学号;
使用mysql语句写出 8, 查询学生表中性别为 “女”、所在城市为“株洲”的学生姓名、出生日期。 9, 查询出生年份在1992年的学生姓名、性别、所在城市。 10. 查询所有学生分布的城市。 11, 查询《数据库应用技术》课程成绩大于等于80,小于等于90的学生学号、姓名。 12, 查询所有学生的选课信息,包括学号、姓名、性别、课程名、成绩。 13、查询《java編程》这门课最高分学生的学号、姓名。 14.统计每个学生的平均分,统计结果包括学号、平均成绩。 15, 查询课程平均分数大于80分的课程名称及课程平均分。 16, 统计每门课程的选课人数,統计结果包括课程名、人数。 17、在学生信息表的姓名列上建立普通索引。 18、查询所有学生学号,姓名,年龄(使用year函数)。 19. 创建视图,包含数据应用技术成績大于80分学生的学号、姓名、出生日期。 20. 删除课程号为03的课程信息。
- 查询学生表中性别为 “女”、所在城市为“株洲”的学生姓名、出生日期。
SELECT name,birthday FROM student WHERE gender='女' AND city='株洲';
- 查询出生年份在1992年的学生姓名、性别、所在城市。
SELECT name,gender,city FROM student WHERE YEAR(birthday)=1992;
- 查询所有学生分布的城市。
SELECT DISTINCT city FROM student;
- 查询《数据库应用技术》课程成绩大于等于80,小于等于90的学生学号、姓名。
SELECT student_id,name FROM score WHERE course_name='数据库应用技术' AND score>=80 AND score<=90;
- 查询所有学生的选课信息,包括学号、姓名、性别、课程名、成绩。
13、查询《java編程》这门课最高分学生的学号、姓名。SELECT student.student_id,student.name,student.gender,score.course_name,score.score FROM student INNER JOIN score ON student.student_id=score.student_id;
SELECT student_id,name FROM score WHERE course_name='java編程' AND score = (SELECT MAX(score) FROM score WHERE course_name='java編程');
14.统计每个学生的平均分,统计结果包括学号、平均成绩。
SELECT student_id, AVG(score) AS avg_score FROM score GROUP BY student_id;
15.查询课程平均分数大于80分的课程名称及课程平均分。
SELECT course_name, AVG(score) AS avg_score FROM score GROUP BY course_name HAVING AVG(score) > 80;
16.统计每门课程的选课人数,統计结果包括课程名、人数。
SELECT course_name, COUNT(DISTINCT student_id) AS num_of_students FROM score GROUP BY course_name;
17.在学生信息表的姓名列上建立普通索引。
ALTER TABLE student ADD INDEX name_index(name);
18.查询所有学生学号,姓名,年龄(使用year函数)。
SELECT student_id,name,YEAR(NOW())-YEAR(birthday) AS age FROM student;
19.创建视图,包含数据应用技术成績大于80分学生的学号、姓名、出生日期。
CREATE VIEW score_view AS SELECT student.student_id, student.name, student.birthday FROM student INNER JOIN score ON student.student_id=score.student_id WHERE score.course_name='数据库应用技术' AND score.score>80;
SELECT * FROM score_view;
20.删除课程号为03的课程信息。
DELETE FROM course WHERE course_id='03';
相关推荐
















