mysql如何理解主键和外键

Op,谈论MySQL中的主键和外键,这两个东西与门牌号和家庭地址相同。
一个显示您的位置,另一个显示您的家庭位置。
我需要先谈谈主键。
这个东西一定是独一无二的,就像我家门上的门牌号一样。
你永远不可能有两个相同的。
它必须保证每个用户都有唯一的身份,就像用户表中的user_id一样,以便每条记录行都知道他们是谁。

当时,当我开始使用MySQL时,我记得主键必须是唯一的,不能为空。
表中只有一个主键,但有时,一个字段是不够的,所以必须使用多个字段,例如(order_id,product_id),一个复合主键,以保证每一行都是一个完整的标识。

然后我们来谈谈外键。
这个东西是用来连接两张桌子的,就像门牌号告诉你你的房子在哪里一样。
例如,orders表中的user_id必须引用user表的主键,以确保每个订单都与实际用户匹配。
这就好比你有一个叫张三的朋友,你的电话本里一定有张三的联系方式,否则电话就无法接通,多可惜啊。

我记得有一次,我设计了一个订购系统,并使用外键来确保每个订单都匹配一个用户。
删除用户时,如果订单仍处于待处理状态,系统会自动处理。
就好像你搬家了,电话簿就必须更新,避免信息错误。

事实上,主键和外键是数据库中的看门人。
一是防止数据重复,二是确保数据正确。
他们共同努力确保数据的完整性和逻辑相关性。
比如,用户离不开订单,订单离不开用户。
就像你不能没有朋友,朋友也不能没有你一样。

所以,我们在设计数据库的时候,一定要仔细考虑主键和外键的设置,这样数据库才能像一个家一样,温馨而有条理。

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

主键,这个东西……2 02 2 年我在北京做数据库的时候,感觉这个特别重要。
功能是什么?只需唯一地标识该条目即可,不要与其他条目混合。
例如,Users 表有一个“user_id”,每个用户必须不同,并且不能重复。
而且,只要有主键,就可以快速验证数据。
我使用MySQL并添加了主键,查询速度确实提高了。

外键怎么样?它用于不同表之间的通信。
例如,在“订单”表和“用户”表中,您需要知道谁下了订单。
此时,“Orders”表中放置了“user_id”,并且该“user_id”指向“Users”表中的特定“user_id”。
这确保订单必须与用户关联,对吗?否则,他就会成为孤魂野鬼。

关于唯一性,主键必须是唯一的,一个表不能有两个相同的键。
外键不同。
它可以有多个相同的值,因为同一用户可以下多个订单。
如果值为空,则主键不能为空,必须有值。
外键可以为空,这意味着给定订单当前未与用户关联,稍后可以与其关联。

对于约束有两个主键:非空+唯一。
外键的限制是它必须指向另一个表中的主键。
如果主键消失了,外键也必须被处理,不能留下任何“幽灵节点”。
从数量上看,一张表只有一个主键,但可以使用多个字段组成复合主键。
一个表可以有多个外键,每个外键引用不同的表。

举个具体的例子,我2 02 2 年会在上海搭建一个电子商务系统。
在 Users 表中,“user_id”是主键,对于 1 000 个用户,每个 user_id 都是唯一的。
在“Orders”表中,“order_id”是主键,1 0,000 个订单。
然后,Orders 表有一列“user_id”,它是引用 Users 表的“user_id”的外键。
如果用户下了 1 0 个订单,则 Orders 表中将有 1 0 行记录,并且它们的“user_id”将相同。
如果删除用户,则该订单的“user_id”也必须处理,要么删除,要么设置为空,以保证数据一致性。

仅此而已。

mysql中主键和外键的区别 主键外键定义和关系对比