iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql中外键和主键的区别有哪些
  • 194
分享到

mysql中外键和主键的区别有哪些

2024-04-02 19:04:59 194人浏览 独家记忆
摘要

这篇文章主要介绍“Mysql中外键和主键的区别有哪些”,在日常操作中,相信很多人在mysql中外键和主键的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中

这篇文章主要介绍“Mysql中外键和主键的区别有哪些”,在日常操作中,相信很多人在mysql中外键和主键的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中外键和主键的区别有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

mysql中外键和主键有区别,主要有:1、主键用来保证数据完整性,外键用来和其他表建立联系用;2、主键只能有一个,而一个表可以有多个外键;3、主键不能有重复,不允许为空,而外键可以有重复,可以是空值。

教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql中外键和主键有区别吗

主键和外键都是约束。主键用于保持数据完整性,外键作用于两个表建立连接。下面分别介绍主键、外键及其区别。

主键

表中经常有多个列,主键是唯一标识表中每行的列。一个表只能有一个主键,主键列不能包含null值。

例如:
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键;

课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键

联合主键

当某一列不能唯一识别每行,使用联合主键,将两列看为一个整体。非空、唯一、不重复。

例如:
成绩表(学号,课程号,成绩)

成绩表中单一一个属性无法唯一标识一条记录,学号和课程编号的组合才可以唯一标识一条记录,所以学号和课程编号的属性组是一个主键。

外键

外键用于与另一张表相关联。以另一个表的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。
表的外键值必须在主表中能找到。
当主表的记录被从表参照时,主表的记录不允许删除。

例如:
mysql中外键和主键的区别有哪些

class表与Student表通过class_id 关联,实现一对多的关系。class_id作为Student表的外键,Student表为从表,在class表中为主键,class表为主表。

主键、外键和索引的区别:

a.定义

主键:唯一标识一条记录,不能有重复,不允许为空。
外键:表的外键是另一表的主键,外键是可以有重复的,可以是空值。
索引:该字段没有重复值,但可以有一个空值。

b.作用

主键:用来保证数据完整性
外键:用来和其他表建立联系用
索引:用来提高查询排序的速度

c.个数

主键:主键只能有一个。
外键:一个表可以有多个外键。
索引:一个表可以有多个唯一索引。

添加主键、外键约束

主键约束

create table 表名(
  列名1 数据类型 primary key,
	列名2 数据类型);--------或------------create table 表名(
  列名1 数据类型,
	列名2 数据类型,
  primary key(列名1));------已经存在的表-----alter table 表名 add primary key(列名);

外键约束

---------主表------create table 表1(
		列名1 数据类型 primary key,
		列名2 数据类型  
);----从表(外键约束所在的表)------create table 表2(
	FK_列名1 数据类型,
  列名2 数据类型,
  constraint 外键约束的名字 foreign key(从表的列名1) references 主表表名(主表的列名1));

到此,关于“mysql中外键和主键的区别有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中外键和主键的区别有哪些

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

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

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

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

下载Word文档
猜你喜欢
  • mysql中外键和主键的区别有哪些
    这篇文章主要介绍“mysql中外键和主键的区别有哪些”,在日常操作中,相信很多人在mysql中外键和主键的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中...
    99+
    2024-04-02
  • sql主键和外键有哪些区别
    这篇文章主要介绍了sql主键和外键有哪些区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。sql主键和外键的区别:主键只有一个,不能重复也不允许...
    99+
    2024-04-02
  • mysql主键和索引有哪些区别
    这篇文章主要为大家展示了“mysql主键和索引有哪些区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql主键和索引有哪些区别”这篇文章吧。 ...
    99+
    2024-04-02
  • mysql主键和唯一的区别有哪些
    这篇文章主要为大家展示了“mysql主键和唯一的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql主键和唯一的区别有哪些”这篇文章吧。区别一个表至多有一个主键,但可以有多个唯一。...
    99+
    2023-06-20
  • 主键和外键的区别是什么
    主键和外键的区别是:主键是唯一标识一条记录,不能有重复的,而外键是另一表的主键,可以重复。主键不允许为空,而外键可以。主键是用来保证数据完整性,而外键是用来和其他表建立联系的。主键只有一个,外键可以有多个。...
    99+
    2024-04-02
  • DBMS中主键和外键之间的区别是什么
    这篇文章主要介绍了DBMS中主键和外键之间的区别是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。DBMS中的主键主键可以唯一地定义关系中的元...
    99+
    2024-04-02
  • MySQL中关于超键和主键及候选键的区别
    目录关于超键和主键及候选键的区别超键候选键主键理解超键、候选键、主键概念及关系基本概念关系举个栗子还不明白?关于超键和主键及候选键的区别 最近在看MySQL的书时遇到了一个问题: 既...
    99+
    2022-11-13
    MySQL中超键 MySQL中主键 MySQL中候选键
  • MySQL数据库中主键和唯一键有什么区别
    小编给大家分享一下MySQL数据库中主键和唯一键有什么区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!什么是主键?主键是表中唯一标识该表中每个元组(行)的列。主键对表实施完整性约束。表中只允...
    99+
    2024-04-02
  • 实现MySQL外键和主键自动连接的方法有哪些?
    实现MySQL外键和主键自动连接的方法有哪些? 这是一个常见的问题,很多开发者在使用MySQL数据库时会遇到这个需求。在MySQL中,外键和主键是两个重要的数据库约束,它们可以确保数据...
    99+
    2024-04-02
  • Mysql主键和唯一键的区别点总结
    什么是主键? 主键是表中唯一标识该表中每个元组(行)的列。主键对表实施完整性约束。表中只允许使用一个主键。主键不接受任何重复值和空值。表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改的地方...
    99+
    2024-04-02
  • Mysql复合主键和联合主键的区别解析
    复合主键: create table index_test ( a int not null, b int not null, c int not null, d int null, ...
    99+
    2023-04-26
    mysql复合主键和联合主键 mysql复合主键和联合主键区别 mysql复合主键
  • MySQL间隙锁和临键锁的区别有哪些
    MySQL中的间隙锁(Gap Lock)和临键锁(Next-Key Lock)是用于并发控制的锁机制,用于处理多个事务同时操作同一数...
    99+
    2023-10-21
    MySQL
  • Python和Go的关键区别有哪些
    这篇文章主要介绍“Python和Go的关键区别有哪些”,在日常操作中,相信很多人在Python和Go的关键区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python和Go的关键区别有哪些”的疑惑有所...
    99+
    2023-06-16
  • 什么是MySQL的主键和外键
    在MySQL数据库中,主键是用于唯一标识每一行数据的字段,确保表中每一行都具有唯一的标识符。主键字段的值不能为NULL,并且每一行数...
    99+
    2024-04-09
    MySQL
  • 主键与聚集索引的区别有哪些
    这篇文章主要讲解了“主键与聚集索引的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“主键与聚集索引的区别有哪些”吧!主键(PRIMARY KEY )...
    99+
    2024-04-02
  • MySQL中超键、主键及候选键的区别是什么
    本篇内容主要讲解“MySQL中超键、主键及候选键的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL中超键、主键及候选键的区别是什么”吧!关于超...
    99+
    2024-04-02
  • 电脑中的机械键盘和普通键盘有哪些区别
    这篇文章将为大家详细讲解有关电脑中的机械键盘和普通键盘有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是机械键盘?机械键盘(英文:Mechanical Keyboard),是一种键盘的类型,从...
    99+
    2023-06-28
  • mysql外键的关系有哪些
    mysql外键的关系有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  多对一  create table press( ...
    99+
    2024-04-02
  • MySQL中有哪些主键和字段类型
    MySQL中有哪些主键和字段类型,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 主键问题:Inn...
    99+
    2024-04-02
  • MYSQL外键的坏处有哪些
    这篇文章给大家介绍MYSQL外键的坏处有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 1、前段时间处理新耀的TX锁问题,发现由于是外键导致了INSERT INTO堵塞,现把外键...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作