mysql - 外键约束(foreign key)FK
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql - 外键约束(foreign key)FK,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1660字,纯文字阅读大概需要3分钟。
内容图文
![mysql - 外键约束(foreign key)FK](/upload/InfoBanner/zyjiaocheng/915/bdeae8a0d1a54939ad50d9b53c6e49a0.jpg)
参考:
constraint 约束概念
约束英文:
constraint
英[k?n?stre?nt] 美[k?n?strent] n. 约束; 限制; 强制;
约束实际上就是表中数据的限制条件
约束种类
非空约束(not null):用not null约束的字段不能为null值,必须给定具体的数据
唯一性约束(unique): unique约束的字段,具有唯一性,不可重复,但可以为null
主键约束(primary key) PK
外键约束(foreign key) FK
检查约束(目前MySQL不支持、Oracle支持)
主键约束与“not null unique”区别
给某个字段添加主键约束之后,该字段不能重复也不能为空,效果和”not null unique”约束相同,但是本质不同。
主键约束除了可以做到”not null unique”之外,还会默认添加”索引——index”
外键约束(foreign key)FK
外键约束(foreign key)FK,只能是表级定义,外键其实就是引用.
foreign key(classno) references t_class(cno)
什么是外键
若有两个表A、B,
id是A的主键,而B中也有id字段,则id就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。
A为基本表(比如:班级表),B为信息表(比如:学生表)
示例:
建表:
//表A带主键
create table t_class (
cno int(10) primary key,
cname varchar(128) not null unique
);
//表B带外键(关联A表进行约束)
create table t_student (
sno int(10) primary key auto_increment,
sname varchar(32) not null,
classno int(3),
foreign key (classno) references t_class (cno)
);
插入数据:
insert into t_class (cno, cname)
values (100, 'aaaaaaxxxxxx');
insert into t_class (cno, cname)
values (200, 'oooooopppppp');
insert into t_student (sname, classno)
values ('jack', 100);
insert into t_student (sname, classno)
values ('lucy', 100);
insert into t_student (sname, classno)
values ('king', 200);
查询:
select *
from t_class;
select *
from t_student;
select s.*, c.*
from t_student s
join t_class c on s.classno = c.cno;
内容总结
以上是互联网集市为您收集整理的mysql - 外键约束(foreign key)FK全部内容,希望文章能够帮你解决mysql - 外键约束(foreign key)FK所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。