MySQL要求(6)将student表中所有学生的地区字段的内容,在原数据后加“省或市”3个字。 (7)将student表中1997年以前出生的学生记录删除。 (8)查询score表:成绩列用优(90)、良(75-90)、及格(60-75)、不及格(<90) 。 (9)查询姓“王”名字为3个字的学生记录。 (10)查询成绩在90分以上的学生的学号、姓名和成绩。 (11)按性别统计学生人数。(5分)← (12)先按性别,再按民族统计学生人数,并挤数从小到大排序。 (13)创建视图Vscore,包括所有男同学的学号、姓名、民族以及送修的课程号及成绩。 (14)创建用户"king”,密码为“1:2h589”。
时间: 2024-03-01 22:49:22 浏览: 230
MySQL数据表添加字段
5星 · 资源好评率100%
好的,以下是对你的问题的回答:
(6) 将student表中所有学生的地区字段的内容,在原数据后加“省或市”3个字。
```sql
UPDATE student SET area = CONCAT(area, '省或市');
```
(7) 将student表中1997年以前出生的学生记录删除。
```sql
DELETE FROM student WHERE birth_year < 1997;
```
(8) 查询score表:成绩列用优(90)、良(75-90)、及格(60-75)、不及格(<90)。
```sql
SELECT
student_id,
CASE
WHEN score >= 90 THEN '优'
WHEN score >= 75 AND score < 90 THEN '良'
WHEN score >= 60 AND score < 75 THEN '及格'
ELSE '不及格'
END AS grade
FROM
score;
```
(9) 查询姓“王”名字为3个字的学生记录。
```sql
SELECT * FROM student WHERE name LIKE '王_';
```
(10) 查询成绩在90分以上的学生的学号、姓名和成绩。
```sql
SELECT student_id, name, score FROM score WHERE score >= 90;
```
(11) 按性别统计学生人数。
```sql
SELECT gender, COUNT(*) AS count FROM student GROUP BY gender;
```
(12) 先按性别,再按民族统计学生人数,并挤数从小到大排序。
```sql
SELECT gender, nation, COUNT(*) AS count FROM student GROUP BY gender, nation ORDER BY gender, count;
```
(13) 创建视图Vscore,包括所有男同学的学号、姓名、民族以及送修的课程号及成绩。
```sql
CREATE VIEW Vscore AS
SELECT s.student_id, s.name, s.nation, sc.course_id, sc.score
FROM student s
INNER JOIN score sc ON s.student_id = sc.student_id
WHERE s.gender = '男';
```
(14) 创建用户"king”,密码为“1:2h589”。
```sql
CREATE USER 'king'@'localhost' IDENTIFIED BY '1:2h589';
```
阅读全文