ホームページ >データベース >mysql チュートリアル >SQLで特定のテーブルの外部キー関係を見つけるにはどうすればよいですか?

SQLで特定のテーブルの外部キー関係を見つけるにはどうすればよいですか?

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

How to Find Foreign Key Relationships for a Given Table in SQL?

SQL を使用してテーブルの外部キー情報を取得する

特定のテーブルに関連付けられた外部キーを理解することは、データの整合性を維持し、データベース内の関係を理解するために重要です。 SQL を使用して外部キー情報を取得する方法は次のとおりです:

information_schema データベースは、外部キー関係を含むデータベースのメタデータに関する洞察を提供します。 table_constraintskey_column_usageconstraint_column_usage テーブルを活用して、必要な情報を抽出できます。

特定のテーブルのすべての外部キーをリストするには、次のクエリを使用できます:

<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='<table_schema>'
    AND tc.table_name='<table_name>';</code>

<table_schema><table_name> を、外部キー情報を取得する実際のスキーマとテーブルに置き換えます。

どのテーブルを外部テーブルとして使用するかを決定する必要がある場合は、クエリの最後の 2 つの条件を次のように変更します。

<code class="language-sql">    AND ccu.table_schema='<table_schema>'
    AND ccu.table_name='<table_name>';</code>

このクエリは、特定のテーブルのすべての外部キーとその関連情報の詳細なリストを提供します。

以上がSQLで特定のテーブルの外部キー関係を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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