mysql建教师关系表
时间: 2024-10-15 09:16:37 浏览: 27
在MySQL中建立教师关系表通常涉及创建两个或更多的表来表示不同的实体及其之间的联系。以教师和学生的关系为例:
1. **创建教师表(teacher)**:
```sql
CREATE TABLE teacher (
id INT PRIMARY KEY,
name VARCHAR(100),
subject VARCHAR(100)
);
```
在这个表中,`id` 是主键,用来唯一标识每个教师。
2. **创建学生表(student)**:
```sql
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(100),
class_id INT,
FOREIGN KEY (class_id) REFERENCES class(id) ON DELETE CASCADE
);
```
`class_id` 作为外键引用 `class` 表的 `id`,`ON DELETE CASCADE` 级联删除策略使得当教师被删除时,其相关的学生也会自动从学生表中移除。
3. **创建班级表(class)**:
```sql
CREATE TABLE class (
id INT PRIMARY KEY,
name VARCHAR(100)
);
```
这个表用于存储课程信息,与学生表通过 `class_id` 进行连接。
4. **添加教师和学生的关联**:
假设教师 `John` 教授 `Math` 的 `101` 班,可以这样插入数据:
```sql
INSERT INTO teacher (id, name, subject) VALUES (1, 'John', 'Math');
INSERT INTO class (id, name) VALUES (101, 'Math 101');
INSERT INTO student (id, name, class_id) VALUES (101, 'Alice', 101);
```
通过这些表和关系,你可以执行查询来获取特定教师的学生,或者获取某个班级的所有学生等。
阅读全文