ホームページ >データベース >mysql チュートリアル >SQL で外部キー関係をクエリするにはどうすればよいですか?
SQL での外部キー情報の取得
外部キーの依存関係を理解することは、データベース スキーマ管理にとって非常に重要です。 SQL は、information_schema
データベース メタデータ テーブルを使用してこの情報を抽出する簡単な方法を提供します。
特定のテーブルに関連付けられたすべての外部キーをリストするには、次のクエリを使用します。
<code class="language-sql">SELECT tc.table_schema, tc.constraint_name, tc.table_name, kcu.column_name, ccu.table_schema AS foreign_table_schema, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_schema = 'myschema' AND tc.table_name = 'mytable';</code>
'myschema'
と 'mytable'
をそれぞれ目的のスキーマ名とテーブル名に置き換えます。
特定のテーブルを外部キーとして参照しているすべてのテーブルを検索するには、WHERE
句を調整するだけです。
<code class="language-sql">WHERE tc.constraint_type = 'FOREIGN KEY' AND ccu.table_schema = 'myschema' AND ccu.table_name = 'mytable';</code>
この改訂されたクエリは、mytable
内の myschema
を外部キーとして利用するすべてのテーブルを返します。
以上がSQL で外部キー関係をクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。