什么是数据库外键?

外键

在这里插入图片描述
在这里插入图片描述
Teacher_id就是student的外键
Teacher是主表,student是子表(从表)

外键就是一个表中的一个字段引用了另一个表中的主键,引用的表叫做子表,被引用的表叫做主表,外键是一种约束,描述的是表之间的关系。

  • 删除主表数据的时候有外键关联的对应从表数据也会被删除
    • 这是从表的外键
      在这里插入图片描述
  • 添加外键sql
    /**
     * 添加外键
     *
     * @param pkTableName 主键表
     * @param fkTableName 外键表
     * @param pkField     主键
     * @param fkField     外键
     * @param foreignKeyName  外键名
     */
 String sql = " ALTER TABLE " + fkTableName + " ADD CONSTRAINT "
                + foreignKeyName + " FOREIGN KEY (" + fkField + ") REFERENCES "
                + pkTableName + " (" + pkField + ") ON DELETE CASCADE";
  • 删除外键sql
   /**
     * 删除外键
     *
     * @param tableName 表名
     * @param keyName   外键名
     */
  String sql = "ALTER   TABLE   " + tableName.toLowerCase() + "   DROP   CONSTRAINT  "
                + keyName;

讲师:https://zhidao.baidu.com/usercenter?uid=db874069236f25705e79f91c&role=pgc

主键、外键、索引的区别

主键、外键和索引的区别?
定义:
主键:唯一标识一条记录,不能有重复的,不允许为空

外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值

索引:该字段没有重复值,但可以有一个空值

作用:

主键:用来保证数据完整性

外键:用来和其他表建立联系用的

索引:是提高查询排序的速度

个数:

主键:主键只能有一个

外键:一个表可以有多个外键

索引:一个表可以有多个唯一索引

  • 19
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java中的战斗机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值