其他分享
首页 > 其他分享> > 外键约束

外键约束

作者:互联网

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

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

外键约束:(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);

 

标签:--,外键,约束,classno,null,class
来源: https://www.cnblogs.com/pydnlxzw/p/15690359.html