使用SQL语句创建“成绩表”,主键、外键一起定义。
时间: 2024-03-25 15:41:24 浏览: 434
以下是使用 SQL 语句创建 "成绩表",并定义主键和外键的示例:
```sql
CREATE TABLE 成绩表 (
学号 INT NOT NULL,
课程编号 INT NOT NULL,
成绩 INT,
PRIMARY KEY (学号, 课程编号),
FOREIGN KEY (学号) REFERENCES 学生表(学号),
FOREIGN KEY (课程编号) REFERENCES 课程信息表(课程编号)
);
```
解释一下上面的 SQL 语句:
- `CREATE TABLE`:表示创建表。
- `成绩表`:表的名称。
- `学号`:列名,类型为 INT,且不能为空。
- `课程编号`:列名,类型为 INT,且不能为空。
- `成绩`:列名,类型为 INT。
- `PRIMARY KEY`:表示设置该列为主键。
- `(学号, 课程编号)`:主键由 "学号" 和 "课程编号" 两列组成。
- `FOREIGN KEY`:表示设置该列为外键。
- `REFERENCES`:表示该列引用了另一个表的列。
- `学生表`:被引用的表名。
- `课程信息表`:被引用的表名。
- `(学号)`:被引用的列名。
- `(课程编号)`:被引用的列名。
上述 SQL 语句将创建一个名为 "成绩表" 的表,其中 "学号" 和 "课程编号" 列被定义为主键,同时 "学号" 列和 "课程编号" 列分别被定义为外键,并引用了 "学生表" 和 "课程信息表" 表中的对应列。
相关问题
SQL建立学生管理数据库,其中有学生表,教师表,成绩表,课程表,设置主键外键约束
好的,下面是一个简单的 SQL 建表语句,用于建立学生管理数据库中的四张表(学生表、教师表、成绩表、课程表)以及它们之间的主键外键约束:
```sql
-- 学生表
CREATE TABLE student (
student_id INT PRIMARY KEY,
student_name VARCHAR(50),
student_gender VARCHAR(10),
student_age INT,
student_major VARCHAR(50)
);
-- 教师表
CREATE TABLE teacher (
teacher_id INT PRIMARY KEY,
teacher_name VARCHAR(50),
teacher_gender VARCHAR(10),
teacher_age INT,
teacher_title VARCHAR(50)
);
-- 成绩表
CREATE TABLE score (
score_id INT PRIMARY KEY,
student_id INT,
course_id INT,
score INT,
FOREIGN KEY (student_id) REFERENCES student(student_id),
FOREIGN KEY (course_id) REFERENCES course(course_id)
);
-- 课程表
CREATE TABLE course (
course_id INT PRIMARY KEY,
course_name VARCHAR(50),
course_teacher_id INT,
FOREIGN KEY (course_teacher_id) REFERENCES teacher(teacher_id)
);
```
在上面的 SQL 语句中:
- 学生表(student)使用 student_id 作为主键。
- 教师表(teacher)使用 teacher_id 作为主键。
- 成绩表(score)使用 score_id 作为主键,并且包含了 student_id 和 course_id 两个外键,分别参照了学生表和课程表的主键。
- 课程表(course)使用 course_id 作为主键,并且包含了 course_teacher_id 一个外键,参照了教师表的主键。
使用SQL语句创建数据表course、score,
在SQL中,创建数据表通常涉及使用`CREATE TABLE`语句。下面是一个简单的例子,展示如何创建名为`course`和`score`的两个表:
1. 创建`course`表:
```sql
CREATE TABLE course (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
instructor VARCHAR(50),
semester DATE
);
```
在这个例子中,`course`表有四个字段:`id`作为主键,表示每门课程的唯一标识;`name`存储课程名称;`instructor`存储授课教师的名字;`semester`存储课程所属的学期。
2. 创建`score`表:
```sql
CREATE TABLE score (
student_id INT,
course_id INT,
score INT,
date_taken DATE,
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
```
这个`score`表用于记录学生的学习成绩,包含了学生的ID (`student_id`),对应课程的ID (`course_id`),分数 (`score`)以及考试日期 (`date_taken`)。同时,这两个字段都是外键,它们引用了`student`和`course`表中的相应字段,保证了数据的一致性。
阅读全文