当前位置: 首页 > news >正文

MySQL——外键

外键
一、外键的介绍
1、外键的定义
让一张表记录的数据不要归于冗余,在数据中对表的关系进行解耦,尽量让表的数据单一化。
2、外键的作用
保持数据的一致性和完整性
3、mysql中的存储格式
myisam (默认)
innodb (外键需要用的存储格式)
4、查看mysql存储的方式:
格式:
show table status FROM 仓库名 where name="表名"
如:
show table status FROM ck1 where name="emp"
6d4186fab9f75fefc634135aaf8c7632

二、创建外键:
备注:engine=innodb
(1)建表时创建外键
a表:
create table a( id int(20) PRIMARY key, name varchar(20))engine=INNODB;
b表:
create table b(bid int(20) PRIMARY key, bname VARCHAR(20) ,CONSTRAINT
wj FOREIGN KEY(bid) REFERENCES a(id))engine=INNODB;
image

指定外键名:CONSTRAINT 外键名
外键:FOREIGN KEY(自己关联字段)
参考引用:REFERENCES 父表(父表的关联字段)
3359286eb0683d7322ee88a50e412c96
53f6c433003a341cb1a050fb9b93f75d

(2)表已新建好,在添加外键
x表:
create table x( id int(20) PRIMARY key, name varchar(20))engine=INNODB;
y表:
create table y( yid int(20) PRIMARY key, yname varchar(20))engine=INNODB;
image

格式:
ALTER table 子表 add CONSTRAINT 外键名 FOREIGN key(子表字段) REFERENCES
父表(父表字段) ;
如:
ALTER table y add CONSTRAINT w11 FOREIGN key(yid) REFERENCES x(id) ;

5f17c3eed6975bc8eb05fb73abdc65e5

三、外键运用
1、查看外键创建的语句:
格式:show create table 表名
show create table y
a6829b3f4870be1aa9d7b258b14fddef

2、在navicat中查看
点击库》点表》点击表名设计表外键--查看外键
3、删除外键
格式:alter table 表名 drop FOREIGN key 索引名 ;
如:

alter table y drop FOREIGN key w11 ;

四、外键的特点
1、当父表不存在的数据,子表也无法插入数据(子表单独插入数据无法插入)
2、先在父表中插入对应的数据,在到子表中插入数据(能插入数据)
3、删除数据,子表中存在的数据,直接删除父表的数据是无法删除(无法删除)
4、删除数据,先删除子表数据,在删除父表的数据(能删除数据)

五、外键的面试题
1、什么是外键?
2、外键作用?
3、如何创建外键?
4、删除外键 ?
5、公司中为什么要使用外键?
(1)保存数据的一致性和完整性
(2)公司数据量大,造成数据重复,新旧表维护成本大,使用外键让公司数据进行分类和管理,让基础数据放在主表,子表单一化,避免数据的冗余

http://www.jsqmd.com/news/289507/

相关文章:

  • NMN抗衰赛道的增长密码:从千亿市场到技术分型,看懂行业,也看懂新一代品牌
  • 红队工具包:攻防演练必备工具与技术详解
  • 基于深度迁移学习的医疗信息分类:从数据到部署的可落地技术路线(上)
  • 基于深度迁移学习的医疗信息分类:从数据到部署的可落地技术路线(下)
  • 深入KCP源码:一个2000行C实现,凭什么比TCP快40%?逐行拆解ARQ算法精髓
  • 救命!论文查重2%但AI率爆表?2025全网最全“降AI率”保姆级攻略
  • mHC改进方法:自适应动态流形约束超连接方法探索
  • 【图像分割】基于黎曼流形特征空间的多视角聚类遥感图像分割附Matlab代码
  • 推荐10个AI论文写作工具,助力数学建模论文复现与排版优化
  • Python请求淘宝商品评论API接口全指南||taobao评论API
  • 对比10款AI论文写作工具,分析哪款最适用于数学建模论文的复现与排版需求
  • 10款高效AI论文写作工具,专攻数学建模论文复现与排版
  • Java毕设选题推荐:基于协同过滤算法的非遗文化交流平台非遗文化分享平台【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 计算机Java毕设实战-基于vue协同过滤算法的非遗文化交流平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Java计算机毕设之基于协同过滤算法的非遗文化交流平台基于SpringBoot3+Vue3的协同过滤算法的非遗文化交流平台(完整前后端代码+说明文档+LW,调试定制等)
  • [Windows] MP3信息修改工具 Mp3tag v3.32
  • [Windows] 桌面整理 Desk Tidy v1.2.3
  • AI智能体的上线流程
  • 升降窗专业厂家推荐哪家?好乐居智能门窗体验感超棒!
  • 聊聊标准型水冷冻式干燥机品牌,好用的推荐给你
  • 航模遥控器使用手册
  • 从零开始:为你的第一个Django项目搭建测试环境
  • px4常见定位设备配置
  • px4设备之---数传和图传配置
  • 救命神器!9款AI论文软件测评:本科生毕业论文必备工具清单
  • 清醒一点!Java面试已经没有金三银四与金九银十了!
  • 芯片贸易管制与AI算力格局变动
  • 基于微信小程序的智慧旅游平台【源码+文档+调试】
  • 2026年企业营销教育品牌推荐榜:全域/短视频营销解决方案选择指南
  • 浅谈压位 trie 及其简单应用