mysql - 表关系

两张表之间的关系

  • 多对一
    在多表类型中建立一个外键字段即可实现两表关联(ps:添加一个一表主键id引用字段,做逻辑关联即可,解除强耦合性[级联删除/更新带来的影响])
  • 多对多
    两表符合双向的多对一关系即为多对多关系,此时再创建一张表添加两个多对多表的主键id引用字段即可实现两表的关联。新表表名命名为两表名中间用2相链接,tablea2tableb。
  • 一对一
    在一从表中添加一个外键字段且唯一,从而保证外键字段的来源准确和唯一。
    #用户表
    create table user(
    	id int primary key auto_increment,
    	name char(16) not null,
    );
    #身份证表
    create table idcard(
    	id int primary key auto_increment,
    	number int not null,
    	u_id int not null unique,#外键字段且必须保证唯一(解决多对一的冲突关系)
    	foreign key(u_id) references user(id)
    	on delete cascade 
    	on update cascade
    );
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值