我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL创建表外键约束的语句怎么写

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL创建表外键约束的语句怎么写

这篇文章主要介绍SQL创建表外键约束的语句怎么写,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

SQL外键约束可通过FOREIGN KEY关键字来指定,创建语句为“ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(列名) REFERENCES 主表名 (列名);”。

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

MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。

外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。

创建表外键约束

可以在ALTER TABLE语句中,通过 FOREIGN KEY 关键字来指定外键;添加外键约束的前提是:从表中外键列中的数据必须与主表中主键列中的数据一致或者是没有数据。

具体的语法格式如下:

ALTER TABLE <数据表名> ADD CONSTRAINT <外键名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);

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

  • 主表必须已经存在于数据库中,或者是当前正在创建的表。如果是后一种情况,则主表与从表是同一个表,这样的表称为自参照表,这种结构称为自参照完整性。

  • 必须为主表定义主键。

  • 主键不能包含空值,但允许在外键中出现空值。也就是说,只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的。

  • 在主表的表名后面指定列名或列名的组合。这个列或列的组合必须是主表的主键或候选键。

  • 外键中列的数目必须和主表的主键中列的数目相同。

  • 外键中列的数据类型必须和主表主键中对应列的数据类型相同。

示例:

修改数据表 tb_emp2,将字段 deptId 设置为外键,与数据表 tb_dept1 的主键 id 进行关联,SQL 语句和运行结果如下所示。

mysql> ALTER TABLE tb_emp2
    -> ADD CONSTRAINT fk_tb_dept1
    -> FOREIGN KEY(deptId)
    -> REFERENCES tb_dept1(id);
Query OK, 0 rows affected (1.38 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> SHOW CREATE TABLE tb_emp2\G
*************************** 1. row ***************************
       Table: tb_emp2
Create Table: CREATE TABLE `tb_emp2` (
  `id` int(11) NOT NULL,
  `name` varchar(30) DEFAULT NULL,
  `deptId` int(11) DEFAULT NULL,
  `salary` float DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_tb_dept1` (`deptId`),
  CONSTRAINT `fk_tb_dept1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.12 sec)

注意:在为已经创建好的数据表添加外键约束时,要确保添加外键约束的列的值全部来源于主键列,并且外键列不能为空。

以上是“SQL创建表外键约束的语句怎么写”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL创建表外键约束的语句怎么写

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

下载Word文档

猜你喜欢

mysql创建表外键约束怎么写

在 mysql 中创建表外键约束可确保参照完整性。步骤如下:创建两个表并指定主键。在子表中添加 foreign key 约束,引用父表的主键。可选择指定引用操作(例如级联删除或限制更新)。在 MySQL 中创建表外键约束当两个表之间建立外
mysql创建表外键约束怎么写
2024-04-22

sql外键约束怎么创建

如何创建 sql 外键约束?步骤:使用 foreign key 子句定义外键约束。指定子表中的引用列和父表中的被引用列。可选:添加约束选项,例如级联操作或延迟检查。外键约束必须引用父表的主键或唯一键。如何创建 SQL 外键约束外键约束在
sql外键约束怎么创建
2024-06-03

sql怎么创建外键约束

在SQL中,可以使用以下语法来创建外键约束:1. 在创建表时添加外键约束:```CREATE TABLE 表名 ( 列1 数据类型, 列2 数据类型, ... FOREIGN KEY (外键列) REFERENCES
2023-09-28

怎么使用sql语句创建表约束

在使用SQL语句创建表时,可以使用以下约束来限制表中数据的规则和完整性:1. PRIMARY KEY约束:用于定义一个或多个列作为表的主键,主键的值必须唯一且不为空。例子:```CREATE TABLE 表名 (列名1 数据类型 PRIMA
2023-09-05

oracle怎么创建表外键约束

要在Oracle数据库中创建表外键约束,可以使用以下语法:ALTER TABLE child_tableADD CONSTRAINT fk_constraint_nameFOREIGN KEY (child_column)REFER
oracle怎么创建表外键约束
2024-03-13

mysql建表外键约束怎么写

mysql外键约束语法为:alter table child_table add foreign key (foreign_key_column) references parent_table (primary_key_column),可
mysql建表外键约束怎么写
2024-04-22

MySQL查询外键约束语句怎么写

要查询外键约束,可以使用以下语句:SHOW CREATE TABLE table_name;其中,`table_name`是要查询外键约束的表名。这条语句将显示创建表的SQL语句,其中包括外键约束的定义。在结果中查找`FOREIGN KEY
2023-10-24

MySQL添加外键约束语句怎么写

要向MySQL表中添加外键约束,可以使用ALTER TABLE语句。语法如下:ALTER TABLE 表名ADD CONSTRAINT 约束名FOREIGN KEY (外键列名) REFERENCES 主表名(主键列名)其中,表名为要添加外
2023-10-23

mysql中外键约束怎么创建

在 mysql 中创建外键约束可强制子表记录关联主表记录,保障数据完整性。具体步骤包括:1. 指定子表的外键列;2. 引用主表的唯一索引列;3. 可设置级联删除或更新操作(可选)。MySQL 中创建外键约束外键约束是一种数据库约束,用于确
mysql中外键约束怎么创建
2024-05-01

SQL约束控制语句怎么写

SQL约束控制语句可以使用CREATE TABLE或ALTER TABLE语句来实现。下面是一些常见的约束控制语句的示例:1. PRIMARY KEY约束:- 在CREATE TABLE语句中创建主键约束:CREATE TABLE 表名 (
2023-09-22

sql创建表语句怎么写

sql create table 语句用于创建包含指定列名和数据类型的新表。参数包括表名、列名、数据类型、not null 约束、null 约束和约束。例如,"create table customers (customer_id int
sql创建表语句怎么写
2024-05-30

sql怎么给表添加外键约束

在SQL中,可以使用ALTER TABLE语句来给表添加外键约束。语法如下:ALTER TABLE 表名ADD CONSTRAINT 约束名FOREIGN KEY (列名) REFERENCES 参考表名(参考列名)其中,表名是要添加外键约
2023-10-24

sql怎么查看表的主外键约束

有两种查看 sql 表主外键约束的方法:使用命令行工具(适用于 mysql、postgresql、microsoft sql server);使用数据库管理系统(例如 mysql workbench、postgresql pgadmin、m
sql怎么查看表的主外键约束
2024-05-30

mysql创建外键的sql语句

创建 mysql 外键的 sql 语句为:alter table child_table add foreign key (foreign_key_column) references parent_table (parent_key_co
mysql创建外键的sql语句
2024-08-01

sql外键语句怎么写

外键是数据库关系,用于建立两个表之间的关联,强制数据完整性。sql 中的外键约束语法为:alter table child_table add foreign key (column_name) references parent_tabl
sql外键语句怎么写
2024-06-03

mysql创建外键约束总不成功怎么办

如果MySQL创建外键约束总是不成功,可能有以下几个原因:1. 字段类型不匹配:外键约束的字段类型必须与参照表的字段类型相同。确保两个表的字段类型一致。2. 字段大小不匹配:外键约束的字段大小必须与参照表的字段大小相同。确保两个表的字段大小
2023-10-12

编程热搜

目录