- 外键:foreign key:外面的键,即键不在自己表中:如果有一个字段指向另外一张表的主键,那么该字段称之为外键
- 在表关系为一对多的时候,
外键必须加在多表身上
新增外键
- 外键可以在创建表的时候或者创建表之后新增:但是要考虑数据的问题,因为外键字段的数据必须在父表主键字段中有值
- 一张表可以有多个外键
外键是维持表与表之间的关联关系
:涉及到的两张表称之为父表与子表
(1)子表:外键所在的表称之为子表
(2)父表:外键指向的表称之为父表
- 如果是一对多或多对一的关系,那么外键必须加多表一方:能够通过外键匹配到父表中唯一的一条记录
- 在创建表的时候新增外键:在所有字段之后,使用
foreign key(外键字段) references 父表(主键字段)
- 新增外键语法1:在创建子表的时候指定外键字段
constrant 外键名称 foreign key(外键字段) references 父表(主键字段);
-- 创建班级表
create table class(
id int primary key,
course varchar(20) not null comment '课程',
room varchar(20) not null comment '教室'
)charset utf8;
-- constraint:约束、限制的意思
create table student(
id int primary key,
number varchar(20) not null comment '学号',
name varchar(20) not null comment '姓名',
gender varchar(10) default '男' comment '性别',
age tinyint unsigned default 0 comment '年龄',
height tinyint unsigned comment '身高',
cid int comment '外键: 指向班级表c