Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

테이블 열에 대한 모든 외래 키를 보려면 어떻게 해야 합니까?

<시간/>

테이블이나 열에 대한 모든 외래 키를 보려면 referenced_column_name 명령을 사용합니다.

먼저 두 개의 테이블이 생성된 다음 외래 키 제약 조건의 도움으로 관련됩니다.

첫 번째 테이블 만들기 -

mysql> CREATE table ForeignTable-> (-> id int,-> name varchar(200),-> Fk_pk int-> );쿼리 OK, 영향을 받는 행 0개(0.43초)

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

mysql> CREATE table primaryTable1-> (-> Fk_pk int,-> DeptName varchar(200),-> 기본 키(Fk_pk)-> );쿼리 OK, 영향을 받는 행 0개(0.48초)

이제 두 테이블 모두 alter 명령의 도움으로 관련되고 외래 키 제약 조건도 추가됩니다. 이에 대한 구문은 다음과 같습니다 -

alter table yourFirstTable add 제약 조건 anyConstraintName 외래 키(두 번째 테이블의 외래 키 역할을 하는 열 이름) yourSecondTable(두 번째 테이블의 기본 키 역할을 하는 열 이름).

위의 구문은 다음과 같이 두 테이블을 연결하기 위해 적용됩니다. -

mysql> 테이블 ForeignTable 추가 제약 조건 constFKPK 외래 키(Fk_pk) 참조primaryTable1(Fk_pk); 쿼리 확인, 영향을 받는 행 0개(1.57초) 레코드:0 중복:0 경고:0

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

테이블의 경우 -

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAMEFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE 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 ='기본 테이블1';

다음은 출력입니다 -

+--------------+------------+----------------- +--------------------------+------------------------+ | TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |+-------------+------------+-----------------+ -----------------------+------------------------+| 외래어 | Fk_pk | constFKPK | 기본 테이블1 | fk_pk |+--------------+-------------+-----------------+ -----------------------+------------------------+1 행 세트, 2개의 경고(0.02초)

샘플 출력에서 ​​constraint_name은 'constFKPK'이고 table_name은 'foreigntable'입니다. 열의 경우 -

SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERERREFERENCED_TABLE_SCHEMA ='yourDatabaseName'; 

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

mysql> SELECT-> TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME-> FROM-> INFORMATION_SCHEMA.KEY_COLUMN_USAGE-> WHERE-k'k'k'm'k'테이블 REFERENCED_TABLE_SCHEMA ='비즈니스'이름'prirence_> REFER테이블 

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

+--------------+------------+----------------- +--------------------------+------------------------+ | TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME |REFERENCED_COLUMN_NAME |+----------------+-------------+---------------- ----------------------------+------------------------ +| 외래어 | Fk_pk | constFKPK | 기본 테이블1 | fk_pk |+--------------+-------------+-----------------+ -----------------------+------------------------+1 행 세트, 2개의 경고(0.03초)