三个表是学生表,课程表,成绩表
时间: 2023-12-13 11:18:08 浏览: 133
好的,那么以下是根据您的要求创建三个表的 SQL 语句:
创建学生表:
```
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
gender ENUM('male', 'female') NOT NULL,
age INT NOT NULL,
UNIQUE KEY unique_name_gender (name, gender)
);
```
在这个表中,我们设置了学生的 ID、姓名、性别和年龄字段,并使用了一个名为 unique_name_gender 的唯一性约束,保证了每个姓名和性别的组合都是唯一的。
创建课程表:
```
CREATE TABLE courses (
id INT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
UNIQUE KEY unique_name (name)
);
```
在这个表中,我们设置了课程的 ID 和名称字段,并使用了一个名为 unique_name 的唯一性约束,保证了每个课程名称都是唯一的。
创建成绩表:
```
CREATE TABLE scores (
id INT PRIMARY KEY,
student_id INT NOT NULL,
course_id INT NOT NULL,
score FLOAT NOT NULL,
FOREIGN KEY (student_id) REFERENCES students(id),
FOREIGN KEY (course_id) REFERENCES courses(id)
);
```
在这个表中,我们设置了成绩的 ID、学生 ID、课程 ID 和分数字段,并使用了两个外键约束,保证了每个成绩都对应一个学生和一个课程。
请注意,这只是一个示例,您可以根据自己的需求进行修改和优化。
阅读全文