> 데이터 베이스 > MySQL 튜토리얼 > 테이블 열의 모든 외래 키를 보는 방법은 무엇입니까?

테이블 열의 모든 외래 키를 보는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-09-07 20:41:07
앞으로
1064명이 탐색했습니다.

테이블 열의 모든 외래 키를 보는 방법은 무엇입니까?

테이블이나 열의 모든 외래 키를 보려면 referenced_column_name 명령은 다음과 같습니다.

먼저 두 개의 테이블을 만든 다음 외래 키 제약 조건을 사용하여 연결합니다.

첫 번째 테이블 생성 -

mysql> CREATE table ForeignTable
-> (
-> id int,
-> name varchar(200),
-> Fk_pk int
-> );
Query OK, 0 rows affected (0.43 sec)
로그인 후 복사

첫 번째 테이블을 성공적으로 생성한 후 다음과 같이 두 번째 테이블을 생성합니다. -

mysql> CREATE table primaryTable1
-> (
-> Fk_pk int,
-> DeptName varchar(200),
-> Primary key(Fk_pk)
-> );
Query OK, 0 rows affected (0.48 sec)
로그인 후 복사

이제 두 테이블 모두 alter 명령과 외래 키를 사용하여 관련됩니다. 제약 조건도 추가되었습니다. 구문은 다음과 같습니다. -

alter table yourFirstTable add constraint anyConstraintName foreign key(column_name which is
acts foreign key in second table) yourSecondTable(column_name which acts primary key in
second table).
로그인 후 복사

위 구문은 두 테이블을 연결하는 데 사용됩니다. -

mysql> alter table ForeignTable add constraint constFKPK foreign key(Fk_pk) references
primaryTable1(Fk_pk);
Query OK, 0 rows affected (1.57 sec)
Records: 0 Duplicates: 0 Warnings: 0
로그인 후 복사

이제 테이블의 모든 외래 키를 보는 구문은 다음과 같습니다. -

테이블의 경우 -

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME,
REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME = 'yourReferencedTableName';
로그인 후 복사

이제 모든 외래 키를 보려면 위 구문을 사용하여 쿼리를 만듭니다. 쿼리는 다음과 같습니다. -

mysql> SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
-> FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-> WHERE REFERENCED_TABLE_NAME = 'primarytable1';
로그인 후 복사

다음은 출력입니다. -

+--------------+-------------+-----------------+-----------------------+------------------------+
| TABLE_NAME   | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+--------------+-------------+-----------------+-----------------------+------------------------+
| foreigntable | Fk_pk       | constFKPK       | primarytable1         | fk_pk                  |
+--------------+-------------+-----------------+-----------------------+------------------------+
1 row in set, 2 warnings (0.02 sec)
로그인 후 복사

예제 출력에서 ​​Constraint_name은 "constFKPK"이고 table_name은 "foreigntable"입니다. 열의 경우 -

SELECT
TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_SCHEMA = 'yourDatabaseName' AND
REFERENCED_TABLE_NAME = 'yourreferencedtablename' AND
REFERENCED_COLUMN_NAME = 'yourreferencedcolumnname';
로그인 후 복사

는 위 구문을 사용하여 열의 모든 외래 키를 표시하는 쿼리를 제공합니다. 쿼리는 다음과 같습니다 다음과 같습니다 -

mysql> SELECT
-> TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
-> FROM
-> INFORMATION_SCHEMA.KEY_COLUMN_USAGE
-> WHERE
-> REFERENCED_TABLE_SCHEMA = 'business' AND
-> REFERENCED_TABLE_NAME = 'primarytable1' AND REFERENCED_COLUMN_NAME
= 'fk_pk';
로그인 후 복사

로 얻은 출력은 다음과 같습니다.

+--------------+-------------+-----------------+-----------------------+------------------------+
| TABLE_NAME   | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME |REFERENCED_COLUMN_NAME  |
+--------------+-------------+-----------------+-----------------------+------------------------+
| foreigntable | Fk_pk       | constFKPK       | primarytable1         | fk_pk                  |
+--------------+-------------+-----------------+-----------------------+------------------------+
1 row in set, 2 warnings (0.03 sec)
로그인 후 복사

위 내용은 테이블 열의 모든 외래 키를 보는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿