外键约束

2021/12/14 23:19:55

本文主要是介绍外键约束,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

外键:外键约束是指表中某个字段的值依赖于另一张表中某个字段的值,而被依赖的字段必须且有主键约束或者唯一约束。

被依赖的表我们通常称之为父表或者主表,设置外键约束的表称为字表或从表。

外键约束:(FOREIGN KEY,缩写FK)是用来实现数据库表的参照完整性的。

外键约束可以使两张表紧密的结合起来,特别是针对修改或者删除的级联操作时,会保证数据的完整性。

外键约束只有表级约束,没有列级约束,当然也可以在创建表以后,也能添加外键约束。

如:

 

 代码:

-- 先创建父表:班级表
create table t_class(
con int(4) primary key auto_increment,
cname varchar(10) not null,
room char(4)
);

-- 添加班级数据:
insert into t_class values (null,'Java001','r201');
insert into t_class values (null,'Java002','r203');
insert into t_class values (null,'大数据001','r301');

-- 查询班级表
select * from t_class;

运行结果:

 

 

-- 创建子表,学生表    (注意添加外键约束)
create table t_student(
sno int(6) primary key auto_increment,
sname varchar(5) not null,
classno int(4),   -- 取值参考t_class表中的cno字段,不要求字段名字完全重复,但是类型长度定义,尽量相同

constraint fk_stu_classno foreign key (classno) references t_class(con)           -- 外键约束
);

-- 添加学生信息:
insert into t_student values (null,'张三',1),(null,'李四',1),(null,'王五',2),(null,'赵六',2);

-- 查看学生表
select * from t_student;

 运行结果:

 

 

也可以通过创建表后,添加外键约束,代码:

create table t_student(
sno int(6) primary key auto_increment,
sname varchar(5) not null,
classno int(4)
);

alter table t_student add constraint fk_stu_classno foreign key (classno) references t_student(con);

 



这篇关于外键约束的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程