mysqlworkbench建一个学生表,字段有学号、姓名、班级号 建一个班级表,字段有班级号、班级名称 学生表中的班级号同班级表中的班级号建立外键约束 (设置更新级联、删除限制) 分别录入测试数据 验证外键约束。
时间: 2024-10-19 17:15:01 浏览: 51
在MySQL Workbench中创建这两个表的过程如下:
首先,我们创建学生表(student):
```sql
CREATE TABLE student (
id INT AUTO_INCREMENT,
student_id VARCHAR(10) PRIMARY KEY,
name VARCHAR(50),
class_no INT,
FOREIGN KEY (class_no) REFERENCES class(class_no) ON UPDATE CASCADE ON DELETE RESTRICT
);
```
这里`student_id`为主键,`class_no`为外键引用班级表(class)中的`class_no`字段。`ON UPDATE CASCADE`表示当班级信息更新时,自动更新学生表的相关记录;`ON DELETE RESTRICT`意味着如果删除班级,除非同时删除所有关联的学生,否则不允许删除。
接着,创建班级表(class):
```sql
CREATE TABLE class (
class_no INT PRIMARY KEY,
class_name VARCHAR(50)
);
```
然后,我们可以分别插入测试数据,例如:
```sql
INSERT INTO class VALUES (1, '一班');
INSERT INTO class VALUES (2, '二班');
INSERT INTO student VALUES (NULL, '张三', 1);
INSERT INTO student VALUES (NULL, '李四', 2);
```
最后,你可以通过`ALTER TABLE`或`SELECT`语句以及`SHOW ENGINE INNODB STATUS`来验证外键约束是否生效。例如,尝试删除未包含学生的班级,将会因为外键限制而失败。
阅读全文
相关推荐

















