MYSQL外键约束简单总结

mysql 外键约束的总结

外键约束注重理解
笛卡尔积
[1,2,3] [a,b,c]
1a,2a,3a,1b,2b,3b,1c,2c,3c

总结:表关系的作用  把相同的数据抽离出来 作为一个单独的表来使用  更方便与维护

外键约束:用来把两张表的关系 关联起来  用来约束列的数据的

	要使用外键约束:1.被引用的表 一定要有主键(只有主键才能被引用)2.引用表的列和被引用表的主键 类型一定要保持一致 3.引擎 InnoDB
约束完成之后  就可以使两张表中的关系得到映射的同时,保证数据不会错乱

链表查询:查询结果是笛卡尔积 并不是我们需要的结果  所以要添加一个条件对结果进行筛选  关系对应的条件
  1. 外键约束 一对多的关系
    例子 : 学生与班级对应关系
    学生表
    在这里插入图片描述
    班级表
    在这里插入图片描述
    设置外键的约束关系:
    在这里插入图片描述
    对表进行查询WHERE添加查询条件,以免出现笛卡尔积的现象
    **SELECT stu.
    ,class.
    FROM stu,class WHERE stu.s_class=class.c_id;**
    在这里插入图片描述

  2. 外键约束 多对多的关系
    例子 :亮剑中两大猪脚的部队配置
    两大猪脚:
    在这里插入图片描述
    队伍配置:
    在这里插入图片描述
    再创建一个order表用来对另外两个表进行串联
    在这里插入图片描述
    设置外键
    在这里插入图片描述

    对order表进行查询会发现order已经成功的将另外两个表串联在一起了.
    SELECT people.*,thing.* FROM `people`,`thing`,`order` WHERE `people`.`p_id`=`order`.`o_people` AND `thing`.`t_id`=`order`.`o_thing`;
    

    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值