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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ChecklistBox的使用总结[通俗易懂]

    ChecklistBox的使用总结[通俗易懂]前言ChecklistBox看起来一个很简单的控件,使用的时候想要达到理想的效果是需要费一番功夫的,这篇博客对于近一两周来项目中主界面设计用到的ChecklistBox方法做了一点小小的总结。图示常用方法1.添加项checkedListBox1.Items.Add(“吃饭”);checkedListBox1.Items.Add(“睡觉”);checkedListB

    2022年6月29日
    26
  • svn 删除、移动和改名

    svn 删除、移动和改名

    2021年10月19日
    48
  • phpstrom 2021.1.3激活(JetBrains全家桶)

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

    2022年3月30日
    152
  • Android动态改变布局

    Android动态改变布局

    2021年9月4日
    53
  • 微信小程序跳转传值(微信怎样打开小程序)

    前情:首先我们有这么一种需求,就是我在一个列表中点击了某个item,跳转到详情界面,那么我就需要把item的实体数据从列表页面传递到详情页面,那么我们来看看微信小程序给我们提供的API:先看api:这里大家可以清楚看到api中说到的如何传递参数,其实它这里指的参数仅仅是一些普通的数据类型具体分析:这里我们要传递的实体是object类型,那么我们需要先把实体转…

    2022年4月12日
    54
  • FGC频繁

    FGC频繁1、假如FGC次数增加,达到一小时一次,但是gc之后,内存也立马降下来了;这说明并没有发生内存泄露;只是新生代的对象过早的进入的老年代;解决办法有增加年轻代空间,以减少youngGc,这样就不会有对象过早的进入老年代 增加年轻代进入老年代的年代阀值,可以增加到最大的15次…

    2022年6月19日
    39

发表回复

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

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