外键是一种约束,将一个表的列链接到另一个表的主键,以确保数据完整性和引用完整性。创建外键的方法有两种:使用 ALTER TABLE 语句或 CREATE TABLE 语句。外键提供了可选的附加选项,例如 ON DELETE CASCADE 和 ON UPDATE CASCADE,可以根据需要进行配置。

SQL 外键の作成方法
外键とは
外键は、あるテーブルの列に別のテーブルの主キーを参照する制約です。これにより、データの整合性と参照整合性が確保されます。
外键の作成手順
外键を作成するには、以下の手順に従います。
-
ALTER TABLE ステートメントを使用する
ALTER TABLE <テーブル名> ADD FOREIGN KEY (<列名>) REFERENCES <参照テーブル名>(<主キー名>);
-
CREATE TABLE ステートメントを使用する
CREATE TABLE <テーブル名> ( <列名> <データ型>, FOREIGN KEY (<列名>) REFERENCES <参照テーブル名>(<主キー名>) );
例
以下は、orders テーブルの product_id 列に products テーブルの id 列を参照する外键を作成する例です。
ALTER TABLE orders ADD FOREIGN KEY (product_id) REFERENCES products(id);
追加オプション
外键を作成する際には、追加オプションを指定できます。
- ON DELETE CASCADE: 参照されるレコードが削除されると、参照するレコードも自動的に削除されます。
- ON DELETE SET NULL: 参照されるレコードが削除されると、参照するレコードの値は NULL に設定されます。
- ON UPDATE CASCADE: 参照されるレコードが更新されると、参照するレコードも自動的に更新されます。
ヒント
- 外键を作成する前に、参照整合性があることを確認してください。
- 外键を使用すると、関連するデータ間の整合性が維持されます。
- 外键は暗黙的なインデックスを作成し、参照するテーブルへのクエリのパフォーマンスを向上させることができます。










