ホームページ >データベース >mysql チュートリアル >SQL で外部キー関係をクエリするにはどうすればよいですか?

SQL で外部キー関係をクエリするにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-16 22:25:41222ブラウズ

How Can I Query Foreign Key Relationships in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。