테이블의 필드 이름을 반환하는 SQL 명령어
MySQL에서 테이블의 필드(컬럼) 이름을 확인하려면 DESC 명령어를 사용하면 됩니다. 기본 문법은 다음과 같습니다.
desc yourTableName;
또는 information_schema.columns 테이블의 column_name 컬럼을 조회하는 방법도 있습니다. 문법은 다음과 같습니다.
select column_name from information_schema.columns where table_name = 'yourTableName';
예제로 살펴보기
두 가지 문법을 이해하기 위해 'ExtractCommentDemo1'이라는 테이블이 있다고 가정해 보겠습니다.
첫 번째 방법: DESC 명령어 사용
mysql> desc ExtractCommentDemo1;
위 명령어를 실행하면 다음과 같이 테이블의 필드 정보가 출력됩니다.
+----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserName | varchar(200) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
두 번째 방법: INFORMATION_SCHEMA.COLUMNS 조회
mysql> select column_name from INFORMATION_SCHEMA.COLUMNS -> where table_name = 'ExtractCommentDemo1';
실행 결과는 다음과 같이 필드 이름만 깔끔하게 출력됩니다.
+-------------+ | COLUMN_NAME | +-------------+ | UserId | | UserName | +-------------+ 2 rows in set (0.00 sec)
두 방법의 차이점
DESC 명령어는 필드 이름뿐만 아니라 데이터 타입, NULL 허용 여부, 키, 기본값 등 테이블 구조 전체를 한눈에 보여줍니다. 반면 INFORMATION_SCHEMA.COLUMNS를 조회하는 방식은 필요한 정보만 선택적으로 가져올 수 있어, 다른 쿼리와 조합하거나 애플리케이션 코드에서 프로그래밍 방식으로 활용할 때 더욱 유용합니다. 상황에 맞게 두 방법을 적절히 사용해 보세요.