MySQL はリレーショナル データベース管理システムであり、その最も基本的な機能の 1 つは外部キーをサポートすることです。外部キーは、一方のテーブルの主キーを参照するために使用される列を一方のテーブルに定義することによって、2 つのテーブルを結合する方法です。 MySQL で外部キーを使用すると、より強力で柔軟なデータ モデルを構築し、クエリ時の効率を向上させることができます。
この記事では、MySQL での外部キーの理解と使用を促進するために、MySQL での外部キーのクエリに関するいくつかの問題とテクニックを紹介します。
1. MySQL 外部キーの基本概念
外部キーは、別のテーブルの主キー列を参照する、あるテーブル内の列を指します。この参照プロセスにより、2 つのテーブル間の関係が確立されます。これを参照整合性と呼びます。
外部キーを通じて、あるテーブルのデータを別のテーブルのデータに関連付けることができるため、データの多様化、共有、更新を実現できます。外部キーを使用すると、テーブル間のデータ クエリ操作を簡単に実装でき、効率が向上します。
MySQL では、外部キーは次の 2 つのタイプに分類できます。
(1) 整合性外部キー: 参照関係を定義する整合性制約を持つ外部キー。参照は、参照されるテーブルが存在する場合にのみ許可されます。
(2) 通常の外部キー: 整合性制約のない外部キーで、あるテーブルのデータを別のテーブルのデータに単純に関連付けます。
2. MySQL で外部キーをクエリする方法
外部キーのクエリは、MySQL データベースにおける非常に基本的なクエリ操作です。外部キーは、次の方法でクエリできます。
SELECT * FROM 表名 WHERE 外键列名 = 外键值;
具体的には、このステートメントは、外部キー列の指定された値に一致するテーブル内のレコードを検索し、そのレコードに関連するすべての情報を返します。
2 つのテーブル間に関連付けられたデータを検索する必要がある場合、結合関連テーブル テクノロジを使用して 2 つのテーブルを接続できます。 。具体的な使用法は次のとおりです。
SELECT * FROM 表1 JOIN 表2 ON 表1.外键列名 = 表2.主键列名 WHERE 外键列名 = 外键值;
このステートメントの JOIN キーワードは 2 つのテーブル間のリンクを表し、ON キーワードはテーブル間の接続条件を指定するために使用されます。関連するテーブルを接続すると、より詳細で有用なクエリ結果が得られ、複数のテーブル間のデータをより簡単にクエリすることもできます。
3. MySQL 外部キーの操作と制限
MySQL で外部キーを追加するのは非常に簡単です。テーブル内に完全な制約を持つ外部キー列を定義し、次の構文を使用して外部キーを定義するだけです:
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键列名) REFERENCES 参考表(主键列名);
外部キーを追加するときは、参照される列がテーブルはすでに存在します。そうでない場合、エラーが発生する可能性があります。
MySQL で外部キーを削除することも比較的簡単です。外部キーを削除するには、次の構文を使用できます。
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
外部キーを削除するときは、メイン テーブルと参照テーブルが変更されていることを確認する必要があります。変更しないと、予期しない結果が生じる可能性があります。
MySQL では、外部キーにいくつかの制限があります。例:
(1) 1 つのテーブルに同じ名前の外部キーを 2 つ定義することはできません。
(2) 外部キーは MySQL の MYISAM エンジンでは使用できませんが、InnoDB エンジンでのみ使用できます。
(3) 参照テーブルの主キー列を変更または削除する場合は、最初にテーブルの関連するすべての外部キーを削除する必要があります。
一般に、MySQL の外部キーの関連内容を学習することで、外部キー関数をより適切に使用してデータを多様化し、共有し、更新することができ、それによってデータ クエリ操作の効率が向上します。外部キーおよび関連テーブル テクノロジを使用する場合は、データの整合性と有効性を確保するための操作上の制限に注意する必要があることに注意してください。
以上がmysqlクエリの外部キーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。