1. 什么是外键
在关系型数据库中,外键是一种约束,它通过引用另一张表的主键来保证数据的完整性和一致性。外键可以用来限制可以在表中插入哪些数据,它保证了表之间的关系,也可用于避免删除表中的数据时出现问题。
2. 设置外键的过程
2.1 创建表
在设置外键之前,需要先创建表,并为其定义主键。下面是一个创建表的示例,其中包含一个主键:
CREATE TABLE person (
id INT PRIMARY KEY,
name VARCHAR(50)
);
2.2 创建带外键的表
在创建带有外键的表之前,需要先创建被引用的表和主键。下面示例创建了一个带有外键的表,它在创建时会引用该表并将person_id列定义为外键:
CREATE TABLE person_detail (
id INT PRIMARY KEY,
person_id INT,
detail VARCHAR(50),
FOREIGN KEY (person_id) REFERENCES person(id)
);
注意,FOREIGN KEY关键字指明了person_id列是一个外键,REFERENCES关键字指明了person_id列引用了person表中的id列。
2.3 修改现有表
如果要将外键添加到已经存在的表中,则可以使用ALTER TABLE语句。下面示例演示了向person_detail表中添加外键的过程:
ALTER TABLE person_detail
ADD FOREIGN KEY (person_id)
REFERENCES person(id);
在这个例子中,ADD关键字表示添加外键,FOREIGN KEY关键字指定了person_id列是一个外键,REFERENCES关键字指定了person_id列引用了person表中的id列。
2.4 删除外键
如果想要从表中删除外键,则可以使用ALTER TABLE语句,并指定DROP FOREIGN KEY选项。下面是一个删除外键的示例:
ALTER TABLE person_detail
DROP FOREIGN KEY person_id;
在这个例子中,DROP FOREIGN KEY关键字指定要删除person_detail表中的person_id列的外键。
总结
外键是一种约束,用于保证数据的完整性和一致性,而Oracle的语法为我们提供了不同的方法来设置、修改和删除外键。