为 Student、Course、SC 三张表添加数据
时间: 2024-10-10 12:06:44 浏览: 146
在为Student、Course、SC(学生选课)这三张表添加数据之前,我们需要知道每张表的基本结构。例如,Student表可能包含字段如ID(学号)、Name(姓名)、Age(年龄),Course表可能有课程ID(CID)、CourseName(课程名),而SC表可能包括StudentID(学号)、CID(课程ID)、Grade(成绩)等。
以下是一个简单的示例,我们将分别为每个表添加一些基础数据。注意实际操作时应使用实际的数据类型,并根据需要填充更多的记录:
```sql
-- 插入Student表数据
INSERT INTO Student (ID, Name, Age)
VALUES (1, '张三', 18),
(2, '李四', 19);
-- 插入Course表数据
INSERT INTO Course (CID, CourseName)
VALUES (1, '数学'),
(2, '英语'),
(3, '物理');
-- 插入SC表数据(模拟学生选择课程)
INSERT INTO SC (StudentID, CID, Grade)
VALUES (1, 1, 90),
(1, 2, 85),
(2, 1, 95),
(2, 3, 92);
```
上述数据仅用于演示,实际情况可能会更复杂,比如有更多字段,或者还需要处理关联的外键约束。
相关问题
给定Student、SC、Course 三张表,请用集合查询选出没选C1和C2课程的学生学号(没选C1,同时没有选C2
假设我们有三张表:
1. `Student` (学生表)
- `id` (学生ID,主键)
- `name` (学生姓名)
2. `SC` (选课表)
- `student_id` (学生ID,外键引用Student.id)
- `course_id` (课程ID)
- `status` (选课状态,如"选中"或"未选")
3. `Course` (课程表)
- `id` (课程ID,主键)
- `name` (课程名称,这里我们假设"C1"和"C2")
为了找出没有选修C1和C2课程的学生学号,你可以构造一个SQL查询,例如在MySQL或PostgreSQL中:
```sql
SELECT s.id
FROM Student s
LEFT JOIN SC sc ON s.id = sc.student_id AND sc.course_id IN ('C1', 'C2')
WHERE sc.id IS NULL;
```
这个查询做了两件事情:
1. LEFT JOIN: 将`Student`表与`SC`表通过`student_id`连接,如果学生没有选修C1或C2,则`sc.id`将为空(NULL)。
2. WHERE条件: 过滤出那些在关联结果中`sc.id`为空的学生,也就是他们没有选修C1或C2。
创建Students数据库; 2.打开Students数据库; 3. 创建学生表student(表名使用“student+学号末三位”,例如:student123); 4.创建课程表course(表名使用“course+学号末三位”,例如:course123); 5.创建选课表sc(表名使用“sc+学号末三位”,例如:sc123); 6.给学生表“student+学号末三位”添加班级列 class,数据类型是char(10); 7.将学生表“student+学号末三位”中class列名改为cla,数据类型改为varchar(20); 8.删除学生表“student+学号末三位”中的cla列; 9.删除这三张表(注意删除顺序)
我可以回答这个问题。以下是操作步骤:
1. 创建Students数据库:CREATE DATABASE Students;
2. 打开Students数据库:USE Students;
3. 创建学生表student:CREATE TABLE student123 (学号 varchar(10) PRIMARY KEY, 姓名 varchar(20), class char(10));
4. 创建课程表course:CREATE TABLE course123 (课程编号 varchar(10) PRIMARY KEY, 课程名称 varchar(20), 学分 int);
5. 创建选课表sc:CREATE TABLE sc123 (学号 varchar(10), 课程编号 varchar(10), 成绩 int, PRIMARY KEY (学号, 课程编号));
6. 给学生表“student 学号末三位”添加班级列class:ALTER TABLE student123 ADD class char(10);
7. 将学生表“student 学号末三位”中class列名改为cla,数据类型改为varchar(20):ALTER TABLE student123 CHANGE class cla varchar(20);
8. 删除学生表“student 学号末三位”中的cla列:ALTER TABLE student123 DROP cla;
9. 删除这三张表(注意删除顺序):DROP TABLE sc123, course123, student123;
阅读全文