外键使用理解

1.概念:

MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。
2.创建语法:

[constraint 外键约束关系的名称] foreign key 从表(外键字段名称) references 主表(主键字段名称)
alter table 从表 add [constraint] [外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);

3.constraint(约束) 目前mysql的约束有:
非空约束(not null)
唯一性约束(unique)
主键约束(primary key) PK
外键约束(foreign key) FK 

3.案例:

create table country (
id int not null,
name varchar(30),
primary key(id)
);

insert into country values(1,'西欧');
insert into country values(2,'玛雅');
insert into country values(3,'西西里');
insert into country values(4,'huya');
create table solider(
id int not null,
name varchar(30),
country_id int,
primary key(id),
foreign key(country_id) references country(id) 
);


insert into solider values(1,'西欧见习步兵',1);
insert into solider values(2,'玛雅短矛兵',2);
insert into solider values(3,'西西里诺曼骑士',3)
insert into solider values(4,'huya',3);

注意:
1、外键字段在创建的时候就应该与主表的类型完全一致(长度啊等),否则创建外键会报错

2、外键表是不能插入主表不存在的数据。

3、外键表不能删除已经关联上的主表数据。

 4.总结:

外键是指在从表中建立的,指向主表中的主键,一个主表的主键可以对应多个从表的外键(比如solider表中的3和4都指向country表中的3号国家西西里),典型的一对多。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值