数据库SQL大题
网站编辑2023-07-18 08:06:00202
1. 数据库表设计
假设我们要设计一个简单的学生信息管理系统,其中包含以下几个表:
学生表(students)
| 字段名 | 类型 | 描述 | |------------|--------------|------------------| | id | int | 学生ID | | name | varchar(50) | 学生姓名 | | age | int | 学生年龄 | | gender | varchar(10) | 学生性别 | | major | varchar(50) | 学生专业 | | grade | int | 学生年级 |
课程表(courses)
| 字段名 | 类型 | 描述 | |------------|--------------|------------------| | id | int | 课程ID | | name | varchar(50) | 课程名称 | | credit | int | 课程学分 | | teacher | varchar(50) | 授课教师 | | time | varchar(50) | 上课时间 | | location | varchar(50) | 上课地点 |
成绩表(scores)
| 字段名 | 类型 | 描述 | |------------|--------------|------------------| | id | int | 成绩ID | | studentid | int | 学生ID | | courseid | int | 课程ID | | score | int | 成绩 |
2. 查询学生信息
查询所有学生信息
sql
SELECT * FROM students;
查询指定学生的信息
sql
SELECT * FROM students WHERE id = 1;
查询学生的姓名和年龄
sql
SELECT name, age FROM students;
3. 查询课程信息
查询所有课程信息
sql
SELECT * FROM courses;
查询指定课程的信息
sql
SELECT * FROM courses WHERE id = 1;
查询课程的名称和学分
sql
SELECT name, credit FROM courses;
4. 查询成绩信息
查询所有成绩信息
sql
SELECT * FROM scores;
查询指定学生的成绩
sql
SELECT * FROM scores WHERE student_id = 1;
查询指定课程的成绩
sql
SELECT * FROM scores WHERE course_id = 1;
5. 更新学生信息
更新学生的年龄
sql
UPDATE students SET age = 20 WHERE id = 1;
更新学生的专业
sql
UPDATE students SET major = '计算机科学' WHERE id = 1;
6. 插入数据
插入一条学生信息
sql
INSERT INTO students (name, age, gender, major, grade) VALUES ('张三', 18, '男', '计算机科学', 1);
插入一条课程信息
sql
INSERT INTO courses (name, credit, teacher, time, location) VALUES ('数据库', 3, '李老师', '周一 8:00-10:00', '教学楼101');
插入一条成绩信息
sql
INSERT INTO scores (student_id, course_id, score) VALUES (1, 1, 90);
7. 删除数据
删除指定学生的信息
sql
DELETE FROM students WHERE id = 1;
删除指定课程的信息
sql
DELETE FROM courses WHERE id = 1;
删除指定成绩的信息
sql
DELETE FROM scores WHERE id = 1;
以上是一个简单的学生信息管理系统的数据库表设计和常用的SQL查询、更新、插入和删除操作。根据实际需求,可以进一步扩展和优化数据库设计和操作。







