创建两个有主键外键关系的数据表并且提供SQL语句
时间: 2023-06-11 14:10:18 浏览: 89
假设我们要创建两个数据表:学生表(students)和课程表(courses),并且这两个表有主键外键关系,即一个学生可以选修多门课程,而一门课程也可以被多个学生选修。
学生表(students)的主键为学生编号(student_id),包含学生姓名(name)、年龄(age)和性别(gender)等字段:
```sql
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10)
);
```
课程表(courses)的主键为课程编号(course_id),包含课程名称(course_name)和授课教师(teacher)等字段,同时还有一个外键指向学生表的学生编号:
```sql
CREATE TABLE courses (
course_id INT PRIMARY KEY,
course_name VARCHAR(50),
teacher VARCHAR(50),
student_id INT,
FOREIGN KEY (student_id) REFERENCES students(student_id)
);
```
在这个例子中,courses 表中的 student_id 外键指向 students 表中的 student_id 主键,表示一门课程必须由一个学生选修。同时,一个学生可以选修多门课程,因此 courses 表中可以有多条记录的 student_id 字段值相同,即指向同一个学生的主键值。