MySQL에서 테이블의 열(컬럼) 중 특정 문자열과 일치하거나 포함된 이름만 확인하고 싶다면 SHOW COLUMNS 명령어와 LIKE 절을 함께 사용하면 됩니다. 이 방법은 테이블 구조를 빠르게 파악할 때 매우 유용합니다.
기본 문법
SHOW COLUMNS FROM yourTableName LIKE 'yourStringValue';
LIKE 절에 원하는 문자열을 지정하면 해당 문자열과 일치하는 열 정보만 결과로 반환됩니다. 와일드카드(%)를 함께 사용하면 부분 일치 검색도 가능합니다.
예제 테이블 생성
먼저 실습에 사용할 테이블을 만들어 보겠습니다.
mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName varchar(20),
-> LastName varchar(20)
-> );
Query OK, 0 rows affected (0.69 sec)위 쿼리는 Id, FirstName, LastName 세 개의 열을 가진 DemoTable을 생성합니다.
특정 문자열이 포함된 열 이름 조회하기
이제 'FirstName'이라는 문자열과 일치하는 열 이름을 조회해 보겠습니다.
mysql> SHOW COLUMNS FROM DemoTable LIKE 'FirstName';
실행 결과
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | FirstName | varchar(20) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ 1 row in set (0.05 sec)
결과를 보면 FirstName 열의 데이터 타입(varchar(20)), NULL 허용 여부, 기본값 등 상세 정보가 함께 출력되는 것을 확인할 수 있습니다.
부분 일치 검색 활용하기
열 이름 전체가 아닌 일부 문자열만 알고 있는 경우에는 와일드카드를 사용하면 됩니다. 예를 들어 'Name'으로 끝나는 모든 열을 조회하려면 다음과 같이 작성합니다.
mysql> SHOW COLUMNS FROM DemoTable LIKE '%Name';
이 경우 FirstName과 LastName 두 개의 열이 모두 조회됩니다. 이처럼 SHOW COLUMNS와 LIKE 조합은 대규모 테이블에서 원하는 열을 신속하게 찾는 데 효과적인 방법입니다.