想想一下 如果有一张班级表和一张学生表,现在需要将班级做出修改,那么在学生表里是不是就要把每一条学生数据都要修改下?
这时候就要用到一些约束条件,外键约束,也就是可以做到 修改班级表里的班级时,学生表对应的班级字段能自动更新,并且删除一些班级时,学生表的对应班级可以置空。或者是删除一些班级时,学生表里对应班级的学生数据直接删除
那么如何实现呢,我们来看下:
首先我们先把所需要的班级表和学生表创建好,并添加对应的主键和外键以及数据:
-- 创建班级表
create table t_class(
cno int(4) primary key auto_increment,
cname varchar(10) not null,
croom varchar(10)
);
-- 添加班级数据
insert into t_class values (null,'java01','r001'),(null,'java02','r002'),(null,'java03','r003')
-- 创建学生表
create table t_student(
sno int(4) primary key auto_increment,
sname varchar(10) not null,
classno int(4),
constraint t_fk_classno foreign key (classno) references t_class (cno); -- 设置外键
);
-- 添加学生数据
insert into t_student values(null,'Amily',8),(null,'Tom',9),(null,'Edis