学生成绩管理系统的sql
时间: 2023-12-07 19:03:48 浏览: 26
以下是一个简单的学生成绩管理系统的SQL表结构设计和一些基本的SQL操作:
1. 学生表(students):
| 字段名 | 数据类型 | 描述 |
| --- | --- | --- |
| id | int | 学生ID |
| name | varchar(50) | 学生姓名 |
| gender | varchar(10) | 学生性别 |
| age | int | 学生年龄 |
```sql
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
gender VARCHAR(10),
age INT
);```
2. 课程表(courses):
| 字段名 | 数据类型 | 描述 |
| --- | --- | --- |
| id | int | 课程ID |
| name | varchar(50) | 课程名称 |
```sql
CREATE TABLE courses (
id INT PRIMARY KEY,
name VARCHAR(50)
);
```
3. 成绩表(scores):
| 字段名 | 数据类型 | 描述 |
| --- | --- | --- |
id | int | 成绩ID |
| student_id | int | 学生ID |
| course_id | int | 课程ID |
| score | int | 成绩 |
```sql
CREATE TABLE scores (
id INT PRIMARY KEY,
student_id INT,
course_id INT,
score INT,
FOREIGN KEY (student_id) REFERENCES students(id),
FOREIGN KEY (course_id) REFERENCES courses(id)
);
```
4. 插入学生数据:
```sql
INSERT INTO students (id, name, gender, age) VALUES
(1, '张三', '男', 18),
(2, '李四', '女', 19),
(3, '王五', '男', 20);
```
5. 插入课程数据:
```sql
INSERT INTO courses (id, name) VALUES
(1, '数学'),
(2, '英语'),
(3, '计算机');
```
6. 插入成绩数据:
```sql
INSERT INTO scores (id, student_id, course_id, score) VALUES
(1, 1, 1, 90),
(2, 1, 2, 80),
(3, 1, 3, 85),
(4, 2, 1, 95),
(5, 2, 2, 85),
(6, 2, 3, 90),
(7, 3, 1, 80),
(8, 3, 2, 75),
(9, 3, 3, 70);
```
7. 查询所有学生的信息:
```sql
SELECT * FROM students;
```
8. 查询所有课程的信息:
```sql
SELECT * FROM courses;
```
9. 查询所有成绩的信息:
```sql
SELECT * FROM scores;
```
10. 查询某个学生的成绩:
```sql
SELECT courses.name, scores.score FROM courses, scores
WHERE courses.id = scores.course_id AND scores.student_id = 1;
```
11. 查询某门课程的成绩:
```sql
SELECT students.name, scores.score FROM students, scores
WHERE students.id = scores.student_id AND scores.course_id = 1;
```