定义 MySQL外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。
在我们使用数据库的时候我们经常需要使用到一张表引用另外一张表的数据字段,这个时候就要用到外键约束了。
在创建表的时候添加外键
语法规则 [CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…] REFERENCES <主表名> 主键列1 [,主键列2,…]
个人理解 CONSTRAINT 外键名称 FOREIGN KEY 要将那一些字段定义为外键 REFERENCES 外键应用的是哪个表的哪个字段
例子:
create table grade( gradeid int(4) not null comment ‘年级id’, name varchar(10) not null comment ‘年级名’, primary key(gradeid ) )engine=innodb default charset=utf8;
create table student ( id int(4) not null comment ‘学生id’, name varchar(60) not null comment ‘学生姓名’, gradeid int(3) not null comment ‘学生年级’, age int(3) not null comment ‘学生年龄’, primary key(id ), key FK_gradeid (gradeid ), constraint FK_gradeid foreign key (gradeid ) references grade (gradeid ) )engine=innodb default charset=utf8;
已有表修改字段为外键
语法规则: alter table 哪个表 add constraint 外键名称 foreign key (要作为外键的字段) references 哪个表(哪个字段);
例子:
alter table student add constraint FK_gradeid foreign key (gradeid ) references grade (gradeid );
删除外键约束
语法规则: alter table 哪个表 drop foreign key 哪个外键名称
例子:
alter table student drop foreign key FK_gradeid ;
|