广告
返回顶部
首页 > 资讯 > 数据库 >MySQL外键设置的方法实例
  • 2463
分享到

MySQL外键设置的方法实例

2024-04-02 19:04:59 2463人浏览 泡泡鱼
摘要

一、外键设置方法 1、在Mysql中,为了把2个表关联起来,会用到2个重要的功能:外键(FOREIGN KEY)和连接(JOIN)。外键需要在创建表的阶段定义,连接可以通过相同意义的

一、外键设置方法

1、在Mysql中,为了把2个表关联起来,会用到2个重要的功能:外键(FOREIGN KEY)和连接(JOIN)。外键需要在创建表的阶段定义,连接可以通过相同意义的字段把2个表连接起来,用在查询阶段。

2、假设有2个表,分别是表A和表B,它们通过一个公共字段id 发生关联关系,我们把这个关联关系叫做R。如果id在表A中是主键,那么表A就是这个关系R中的主表,相应的,表B就是这个关系中的从表,表B中的id,就是表B用来引用表A中数据的,叫外键。所以,外键就是从表中用来引用主表中数据的那个公共字段。

创建主表


CREATE TABLE demo.importhead ( 
listnumber INT PRIMARY KEY, 
supplierid INT, 
stocknumber INT, 
importtype INT, 
importquantity DECIMAL(10 , 3 ), 
importvalue DECIMAL(10 , 2 ), 
recorder INT, 
recordingdate DATETIME);

创建从表


CREATE TABLE demo.importdetails( 
listnumber INT, 
itemnumber INT, 
quantity DECIMAL(10,3), 
importprice DECIMAL(10,2), 
importvalue DECIMAL(10,2), -- 定义外键约束,指出外键字段和参照的主表字段 
CONSTRAINT fk_importdetails_importhead 
FOREIGN KEY (listnumber) REFERENCES importhead (listnumber)
);

运行这个sql语句,我们就在创建表的同时定义了一个名字叫fk_importdetails_importhead的外键约束,同时,我们声明,这个外键约束的字段listnumber引用的是表importhead里面的字段listnumber。

创建完成后,我们可以通过SQL语句来查看,这里我们要用到mysql自带的、用于存储系统信息的数据库

infORMation_schema。我们可以查看外键约束的相关信息:

外键约束所在的表是importdetails,外键字段是listnumber

参照的主表是importhead,参照主表字段是listnumber,

这样通过定义外键约束,我们已经建立起了2个表之间的关联关系。

3、连接

在MySQL中有2种类型的连接,分别是内连接(INNER JOIN)和外连接(OUTER JOIN)

  • 内连接表示查询结果只返回符合连接条件的记录,这种连接方式比较常用;
  • 外连接则不同,表示查询结果返回某一个表中的所有记录,以及另一个表中满足连接条件的记录。

定义外键时,需要遵守下列规则:

  • 主表必须已经存在于数据库中,或者是当前正在创建的表。如果是后一种情况,则主表与从表是同一个表,这样的表称为自参照表,这种结构称为自参照完整性。
  • 必须为主表定义主键。
  • 主键不能包含空值,但允许在外键中出现空值。也就是说,只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的。
  • 在主表的表名后面指定列名或列名的组合。这个列或列的组合必须是主表的主键或候选键。
  • 外键中列的数目必须和主表的主键中列的数目相同。
  • 外键中列的数据类型必须和主表主键中对应列的数据类型相同。

总结

到此这篇关于MySQL外键设置的文章就介绍到这了,更多相关MySQL外键设置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL外键设置的方法实例

本文链接: https://www.lsjlt.com/news/123065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL外键设置的方法实例
    一、外键设置方法 1、在MySQL中,为了把2个表关联起来,会用到2个重要的功能:外键(FOREIGN KEY)和连接(JOIN)。外键需要在创建表的阶段定义,连接可以通过相同意义的...
    99+
    2022-11-12
  • MySQL设置外键约束的方法
    这篇文章给大家分享的是有关MySQL设置外键约束的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。MySQL 外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,...
    99+
    2022-10-18
  • mysql中设置外键约束的方法
    这篇文章将为大家详细讲解有关mysql中设置外键约束的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql中设置外键约束的方法:可以通过FOREIGN KEY关键...
    99+
    2022-10-18
  • navicat设置外键的方法
    这篇文章给大家分享的是有关navicat设置外键的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。打开Navicat。打开数据表所在的数据库,右击需要新增字段的数据库表,然后点...
    99+
    2022-10-18
  • navicat外键的设置方法
    小编给大家分享一下navicat外键的设置方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!现在有两个表一张是teacher表一...
    99+
    2022-10-18
  • mysql外键的设置
    drop table if exists test1;create table test1(id int unsigned not null,info varchar(20),foreign ke...
    99+
    2022-10-18
  • mysql设置两个外键的方法是什么
    在MySQL中,设置两个外键的方法有两种:1. 使用单个列作为两个表之间的联接:- 首先,在一个表中创建一个外键列,该列将引用另一个...
    99+
    2023-10-12
    mysql
  • 给mysql数据库设置外键的两种方法
    下面讲讲关于给mysql数据库设置外键的两种方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完给mysql数据库设置外键的两种方法这篇文章你一定会有所受益。1、在创建表时的操作...
    99+
    2022-10-18
  • mysql创建表时设置外键约束的方法
    MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。...
    99+
    2022-10-18
  • mysql外键设置方式是什么
    这篇文章给大家介绍mysql外键设置方式是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。外键的作用保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!例如:a...
    99+
    2023-06-22
  • mysql的外键如何设置
    这篇文章主要介绍“mysql的外键如何设置”,在日常操作中,相信很多人在mysql的外键如何设置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql的外键如何设置”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-06
  • 新手必学的mysql外键设置方式
    目录外键的作用mysql外键设置方式总结外键的作用 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值! 例如: a b 两个...
    99+
    2022-11-12
  • 在phpmyadmin中设置外键约束的方法
    小编给大家分享一下在phpmyadmin中设置外键约束的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!首先选择需要设置外键约束的数据库选择需要设置外键的表,点击【操作】(需要设置主表与从表...
    99+
    2022-10-18
  • mysql主键约束的设置方法
    这篇文章主要介绍了mysql主键约束的设置方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、说明在定义完列之后直接使用 UNIQUE关键字指定唯一约束。UNIQUE 和 ...
    99+
    2023-06-15
  • mysql增加外键的方法
    小编给大家分享一下mysql增加外键的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql如何添加外键,添加外键说明不止...
    99+
    2022-10-18
  • 数据库sql语句设置外键的方法
    这篇文章主要介绍了数据库sql语句设置外键的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据库sql语句设置外键的方法:1、添加外键约...
    99+
    2022-10-18
  • navicat设置外键报错1025的解决方法
    这篇文章主要介绍navicat设置外键报错1025的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!navicat设置外键报错1025怎么办?下面给大家举例说明:例子:将mem...
    99+
    2022-10-18
  • mysql建表时设置主键的方法
    mysql建表时设置主键的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!设置方法:在“CREATE TABLE”语句中...
    99+
    2022-10-18
  • Mysql外键设置中的CASCADE、NOACTION、RESTRICT、SETNULL
    今天在使用Navicat for mysql设计表时,在设置外键的时候,删除时和更新时两列有四个值可以选择:CASCADE、NO ACTION、RESTRICT、SET NULL,自...
    99+
    2022-11-13
  • MySQL外部键的使用方法
    这篇文章主要介绍了MySQL外部键的使用方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。使用MySQL外部键的方法:1、两个表必须是InnoD...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作