MySQL에서 테이블의 컬럼 이름을 조회하는 구문
MySQL에서 특정 테이블의 컬럼(열) 이름을 확인하려면 information_schema.columns 뷰를 활용하면 됩니다. 기본적인 구문은 다음과 같습니다.
select column_name from information_schema.columns where table_schema='데이터베이스명' and table_name='테이블명';
여기서 table_schema에는 데이터베이스 이름을, table_name에는 컬럼 이름을 조회하고자 하는 테이블의 이름을 지정합니다.
예제 테이블 생성하기
먼저 실습에 사용할 예제 테이블을 만들어 보겠습니다.
mysql> create table DemoTable
(
EmployeeId int,
EmployeeFirstName varchar(20),
EmployeeLastName varchar(20),
EmployeeAge int,
EmployeeCountryName varchar(40),
IsMarried tinyint(1),
isActive ENUM('ACTIVE','INACTIVE')
);
Query OK, 0 rows affected (0.65 sec)위 쿼리는 직원 정보를 저장하는 DemoTable이라는 테이블을 생성합니다. 이 테이블은 직원 ID, 이름, 성, 나이, 국가명, 결혼 여부, 활성 상태 등 총 7개의 컬럼으로 구성되어 있습니다.
컬럼 이름 조회 쿼리 실행하기
이제 information_schema를 사용하여 DemoTable의 모든 컬럼 이름을 조회하는 쿼리를 실행해 보겠습니다. 여기서는 데이터베이스 이름이 'web'인 경우를 가정합니다.
mysql> select column_name from information_schema.columns where table_schema='web' and table_name='DemoTable';
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+---------------------+ | COLUMN_NAME | +---------------------+ | EmployeeId | | EmployeeFirstName | | EmployeeLastName | | EmployeeAge | | EmployeeCountryName | | IsMarried | | isActive | +---------------------+ 7 rows in set (0.00 sec)
추가 팁: ORDINAL_POSITION으로 컬럼 순서 유지하기
기본적으로 information_schema의 조회 결과는 컬럼 이름순으로 정렬되지 않을 수 있습니다. 테이블에서 정의한 원래 순서대로 컬럼 이름을 가져오고 싶다면 ORDINAL_POSITION을 기준으로 정렬하는 것이 좋습니다.
mysql> select column_name from information_schema.columns where table_schema='web' and table_name='DemoTable' order by ordinal_position;
또한 DESCRIBE 또는 SHOW COLUMNS 명령어를 사용하면 더 간단하게 컬럼 정보를 확인할 수도 있습니다.
mysql> DESCRIBE DemoTable;
이 방법은 컬럼 이름뿐만 아니라 데이터 타입, NULL 허용 여부, 키, 기본값 등의 추가 정보도 함께 제공하므로 상황에 따라 유용하게 활용할 수 있습니다.