Mysql数据库外键的使用【重点】

Mysql数据库外键的使用【重点】Mysql 数据库外键用法


? 作者简介:大学机械本科,野生程序猿,学过C语言,玩过前端,还鼓捣过嵌入式,设计也会一点点,不过如今痴迷于网络爬虫,因此现深耕Python、数据库、seienium、JS逆向、安卓逆向等等,,目前为全职爬虫工程师,学习的过程喜欢记录,目前已经写下15W字电子笔记,因此你看到了下面这篇文章~

? 技术栈:Python、HTML、CSS、JavaScript、C、Xpath语法、正则、、MySQL、Redis、MongoDB、Scrapy、Pyspider、Fiddler、Mitmproxy、分布式爬虫、JAVA等

?个人博客:https://pythonlamb.github.io/

?大学作品合集:https://sourl.cn/h9M2jX

?欢迎点赞⭐️收藏?关注?留言呀?








外键使用

外键的使用场景

答:两个数据表相关联,一个数据表是产品名称,另一个数据表是这些产品的分类,向产品名称这个数据表添加数据时,但是产品分类这个数据表内没有这个产品的相应分类,我们就不能向名称数据表进行插入数据,这时就要用到外键!

什么是外键

答:两个数据表相关联时,一个数据表的主键出现在另外一个数据表中,称另外这个数据表内的这个字段为外键

图示:

image-20211012151343486

怎么向已经存在的字段添加外键约束

关键字:foreign key 、references

语法:alter table product add foreign key (nid) references classification(id);

表示向 product 表的 nid 字段添加外键,这个外键引用于 classification数据表的主键(id字段)

快速代码体验:

Mysql数据库外键的使用【重点】

怎么在创建数据表时添加外键

语法:

create table product_test( id int not null primary key, name varchar(10)not null, mid int not null, foreign key (mid) references classification(id)); 

上面语法表示创建 product_test 数据表并且为mid字段加上外键,foreign key (mid) references classification(id)语法表示将mid字段设置为外键,外键引用于 classification数据表的 id 字段

注意事项:创建数据表添加外键,引用于哪个数据表的字段,那么这个数据表必须事先存在,例如上述的classification数据表之前就已经创建好!

快速代码体验:

image-20211012151414268

怎么查询数据表中的外键字段名称

show create table 要查找外键的数据表名

例如:show create table product_test;

代码演示

image-20211012151423481

注意事项:上面查询的字段名称不是 mid 而是刚开始的那段字符串,即 product_test_ibfk_1 才是字段名称

怎么删除数据表中的字段外键

alter table 数据表名 drop foreign key 外键字段名

快速代码体验

image-20211012151433707

持续更新中…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233691.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java保留两位小数的几种写法总结[通俗易懂]

    Java保留两位小数的几种写法总结[通俗易懂]相信大家在平时做项目时,可能会有这样的业务需求:页面或界面上展示的数据保留小数点后两位。那么这篇文章小编就和大家分享了利用Java保留两位小数的几种写法,文章给出了详细的示例代码,对大家的学习和理解很有帮助,有需要的朋友们下面来一起学习学习下吧。本文列举了几个方法:    1.使用java.math.BigDecimal     2.使用java.text.DecimalFormat …

    2022年9月24日
    1
  • python实现——ASCII谢尔宾斯基地毯

    python实现——ASCII谢尔宾斯基地毯目录一、题目内容:二、思路:三、python代码:4、总结一、题目内容:二、思路:看到这个图案,肯定是自相似的,所以肯定用递归解决这个问题。但是具体怎样的呢?(1)这个其实就是二维矩阵,所以是要判断每个位置是不是要填给定字符,如果确定了每个位置填或不填,那不就解决问题了嘛;(2)用两个for循环不就遍历了所有的位置了么,所以这个也简单,现在的难点在于如何知道每个位置要填,所以用一个函数判断;(3)这个判断的函数需要三个参数,一个是边长数,另外两个是坐标。边界条件是n=1就返回T.

    2022年7月13日
    15
  • mac键位的键盘_键盘键位图高清126键

    mac键位的键盘_键盘键位图高清126键mac和Windows在键盘上还是有一些差距的,在习惯了Windows的键位之后还是很难第一时间转换到mac的键位上,为大家整理了一下mac的键位分布,和常用的快捷键。Mac键盘键位分布【F1~12】与传统键盘不同的是,Mac键盘,只是多了几个功能键,可以简单将Mac上的【fn+F112】对应Win上【F112】,其Mac环境上的功能,如下图标注所示。Command键(⌘)Command键是mac独有的一个按键,大多数的快捷组合键都是和它配合使用,相当于Windows下的Ctrl键的功能,但

    2025年6月10日
    0
  • navicat激活码【2021.7最新】

    (navicat激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月22日
    77
  • mybatis绑定错误

    mybatis绑定错误

    2022年3月5日
    36
  • Redis客户端工具_redis安装教程

    Redis客户端工具_redis安装教程作者:IT邦德中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造现拥有Oracle11gOCP/OCM、Mysql、Oceanbase(OBCA)认证分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证从业8年DBA工作,在数据库领域有丰富的经验B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007前言RedisDesktopManager官方版是一款简单快速、跨平台的Redi

    2022年9月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号