>데이터 베이스 >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_constraints, key_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>를 외래 키 정보를 검색하려는 실제 스키마 및 테이블로 바꿉니다.

외부 테이블로 사용할 테이블을 결정해야 하는 경우 쿼리의 마지막 두 조건을 다음과 같이 수정하세요.

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

이 쿼리는 특정 테이블의 모든 외래 키에 대한 자세한 목록과 관련 정보를 제공합니다.

위 내용은 SQL에서 주어진 테이블에 대한 외래 키 관계를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.