SQL FOREIGN KEY

SQL FOREIGN KEY 一个表中的FOREIGHKEY指向另一个表中的PRIMARYKEY。 通过实例来解释外键。请看下面两个表:注意:  ·"Orders"表中的"P_Id"列指向"Persons"表中的"P_Id"列。  ·"Persons"表中的"P_Id"列是"Persons"表中的PRIMARYKEY。  ·"Orders&quo

大家好,又见面了,我是你们的朋友全栈君。

  一个表中的FOREIGH KEY 指向另一个表中的PRIMARY KEY。

  通过实例来解释外键。请看下面两个表:

SQL FOREIGN KEY

注意:

   ·”Orders”表中的”P_Id”列指向”Persons”表中的”P_Id”列。

   ·”Persons”表中的”P_Id”列是”Persons”表中的PRIMARY KEY。

   ·”Orders”表中的”P_Id”列是”Orders”表中的FOREIGN KEY。

 

FOREIGN KEY 约束用于预防破坏表之间连接的行为。

FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

 

CREATE TABLE时的SQL FOREIGN KEY 约束

  在”Orders”表创建时在”P_Id”列上创建FOREIGN KEY 约束:

MySQL:

 

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)

SQL Server/ Oracle /MS Access:

 

 

CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

  如需命名FOREIGN KEY 约束,并定义多个列的FOREIGN KEY 约束,请使用下面的SQL语法:

 

MySQL /SQL Server /Oracle /MS Access:

 

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)

 

ALTER TABLE 时的 SQLFOREIGN KEY 约束

 

 

  当”Orders”表已被创建时,如需在”P_Id”列创建FOREIGN KEY 约束,请使用下面的SQL:

MySQL /SQL Server /Oracle /MS Access

 

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

  如需命名FOREIGN KEY 约束,并定义多个列的FOREIGN KEY 约束,请使用下面的SQL语法:

 

MySQL /SQL Server /Oracle /MS Access:

 

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

 

撤销FOREIGN KEY 约束
  如需撤销FOREIGN KEY约束,请使用下面的SQL:

 

 

MySQL:

 

ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

 

SQL Server /Oracle /MS Access:

 

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders

 

参考:

https://www.yuque.com/docs/share/79273585-3f48-4505-b43b-edb59ba84662

 

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

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

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


相关推荐

  • latex 参考文献排序_中文参考文献怎么排序

    latex 参考文献排序_中文参考文献怎么排序最近由于需要开始尝试使用LaTeX。瞎忙活了好多天,最近总算有一点点眉目了。由于以前没有接触过LaTeX,而且网上有好多种不同的编译、编辑工具,我也不知道用哪个。偶尔看到LyTeX:LyTeX是一个绿色的中文TeX套装,它包含绿色版还是安装版,无论哪种版本都不会与系统的其它TeX套装冲突。它包含了LaTeX,XeTeX,TeXworks和LyX,特别地包含了绝大部分

    2025年9月7日
    7
  • javascript获取当前时间,按指定格式输出_js获取现在本地时间的代码

    javascript获取当前时间,按指定格式输出_js获取现在本地时间的代码使用js获取当前时间

    2022年9月23日
    3
  • 《我的极品媳妇》方志强 王亚欣 小说读后感

    《我的极品媳妇》方志强 王亚欣 小说读后感男主角方志强博爱和善良的性格及对待生活的刚毅和坚韧让人敬佩,无论是对待自己的背叛过的兄弟还是互殴的光头都是义字当头,对无耻小人以及伤害身边家人的败类绝不手软,如此种种人格魅力的塑造相当完美;但唯一的缺点是对感情的优柔寡断。在本书中始终在反复得而复失幸福的痛苦中挣扎,但这些也是方志强感情方面性格缺陷导致的。女主王亚欣温柔、贤惠、成熟、多金、坚强、最主要的出身平凡,和男主方志强起步阶段是同一类型的。…

    2022年6月4日
    60
  • Android动画之ScaleAnimation使用[通俗易懂]

    Android动画之ScaleAnimation使用[通俗易懂]什么是ScaleAnimationScaleAnimation即缩放动画,应用场景特别多,比如常见的隐藏菜单点击显示下面我分两种方式来介绍ScaleAnimation如何使用。1.xml文件形式文件名:anim_scale_in.xml效果:呈现view放大显示效果源码:

    2022年10月15日
    4
  • hadloop大数据平台论文_基于Hadoop的大数据解决方案的设计及应用

    hadloop大数据平台论文_基于Hadoop的大数据解决方案的设计及应用第37卷第2期2017年4月河池学院学报JOURNALOFHECHIUNIVERSITYVol.37No.2Apr.2017基于Hadoop的大数据解决方案的设计及应用苏树鹏(广西机电职业技术学院,广西南宁530007)[摘要]随着信息化技术和终端智能的迅猛发展,系统需要处理的数据呈现海量化,使得海量数据的存储、挖掘成为当前亟待解决的问题。使用云计算技术构建集群系统,可有效地解决海量数据的存储、共…

    2022年5月22日
    35
  • 电脑蓝屏错误代码0x0000007b_戴尔开机蓝屏0x0000007b

    电脑蓝屏错误代码0x0000007b_戴尔开机蓝屏0x0000007b电脑开机后就出现蓝屏代码为0x0000007b到底什么意思呢?0x0000007b算是电脑蓝屏常见故障之一,导致这样情况的原因有几种,下面小白系统帮你分析下导致蓝屏0x0000007b的原因以及解决方案。情况一:重装xp系统出现的蓝屏很多朋友的电脑系统原来是win7系统,但是重装xp系统后就会出现蓝屏代码0x0000007b的画面。解决步骤:1、重启电脑按F2键进入bios界面,常见进bios热键…

    2025年10月19日
    4

发表回复

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

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