Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 특정 테이블의 기본 키(PK) 열 이름을 확인하는 방법

MySQL에서 특정 테이블에 설정된 기본 키(Primary Key)의 열 이름을 확인해야 하는 경우가 종종 있습니다. 이때 INFORMATION_SCHEMA.KEY_COLUMN_USAGE 뷰를 활용하면 간단하게 조회할 수 있습니다.

1. 예제 테이블 생성

먼저 기본 키로 CustomerId를 가지는 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
    (
    CustomerId int NOT NULL AUTO_INCREMENT,
    CustomerName varchar(20),
    CustomerAge int,
    CustomerCountryName varchar(100),
    PRIMARY KEY(CustomerId)
    );
Query OK, 0 rows affected (0.94 sec)

위 테이블에서 CustomerId가 자동 증가(AUTO_INCREMENT)되는 기본 키로 설정된 것을 확인할 수 있습니다.

2. 기본 키 열 이름 조회 쿼리

특정 테이블의 기본 키 열 이름을 가져오려면 아래와 같이 INFORMATION_SCHEMA.KEY_COLUMN_USAGE를 조회하면 됩니다.

mysql> SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'DemoTable'
AND CONSTRAINT_NAME = 'PRIMARY';

쿼리 설명은 다음과 같습니다.

  • TABLE_NAME: 기본 키를 확인하려는 테이블 이름을 지정합니다.
  • CONSTRAINT_NAME = 'PRIMARY': 제약 조건 중 기본 키만 필터링합니다.
  • COLUMN_NAME: 해당 제약 조건이 적용된 열 이름을 반환합니다.

3. 실행 결과

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+-------------+
| COLUMN_NAME |
+-------------+
| CustomerId  |
+-------------+
1 row in set, 2 warnings (0.12 sec)

결과에서 알 수 있듯이, DemoTable 테이블의 기본 키 열 이름은 CustomerId입니다.

참고 사항

여러 데이터베이스에서 동일한 테이블 이름이 존재할 수 있으므로, 정확한 결과를 얻으려면 WHERE 절에 TABLE_SCHEMA = '데이터베이스명' 조건을 함께 추가하는 것이 좋습니다.