在本教程中,我们将学习强制在两个表中的数据之间建立链接的外键约束。
外键是用于强制两个表中数据之间关系的列或列的组合。包含外键的表称为外键表。
让我们看下面的表:
一个course有零个或多个batch,但是,一个batch必须属于一个course。这个关系是使用courseid外键列定义的。batches表就称为外键表。
要创建外键,需要使用外键约束。
下面的查询将使用CREATE TABLE语句创建外键约束:
CREATE
TABLE
batches (
batchid
INT
NOT
NULL
,
batchname
VARCHAR
(255)
begindate
DATE
enddate
courseid
PRIMARY
KEY
(batchid),
CONSTRAINT
fk_courseid
FOREIGN
(courseid)
REFERENCES
courses(courseid)
)
让我们看一下下面的语句:
我们将batches表中的courseid列定义为引用courses表中courseid列的外键。
同时我们为外键约束指定了一个名称(fk_courseid),方便以后使用这个名称来删除约束。当然,约束的名称fk_courseid是可选的。如果省略它,数据库引擎将为约束生成一个名称。
如果你想在现有的表中创建外键约束,你可以使用如下的ALTER TABLE语句:
ALTER
fk_tablename
ADD
(fk)
ref_tablename(fk)
例如,您可以在batches表中创建一个外键,如下所示:
batches
要删除外键约束,还可以使用以下格式的ALTER TABLE语句:
fk_table(表名)
DROP
constraint_name(外键约束名称)
例如,要删除fk_courseid外键约束,可以使用以下语句:
原文链接:https://codingdict.com/