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

MySQL에서 열(컬럼) 이름에 와일드카드를 사용하는 방법

MySQL에서 열(column) 이름에 와일드카드를 활용하려면, 먼저 column_name을 조회한 뒤 LIKE 연산자와 함께 와일드카드 패턴을 적용하면 됩니다. 이 방법은 INFORMATION_SCHEMA.COLUMNS 테이블을 이용해 특정 테이블의 열 중 원하는 패턴과 일치하는 이름만 손쉽게 찾아낼 수 있습니다.

기본 문법

사용되는 기본 문법은 다음과 같습니다.

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'yourTableName'
AND COLUMN_NAME LIKE 'yourWildCards%';

예제 테이블 생성

위 문법을 실제로 이해하기 위해 예제 테이블을 하나 만들어 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table WildcardDemo
    -> (
    -> ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ProductName varchar(10),
    -> Shippingdatetime datetime,
    -> ProductPrice int
    -> );
Query OK, 0 rows affected (1.31 sec)

테이블이 정상적으로 생성되었는지 확인하기 위해 DESC 명령어로 테이블 구조를 살펴보겠습니다.

mysql> desc WildcardDemo;

출력 결과

+------------------+-------------+------+-----+---------+----------------+
| Field            | Type        | Null | Key | Default | Extra          |
+------------------+-------------+------+-----+---------+----------------+
| ProductId        | int(11)     | NO   | PRI | NULL    | auto_increment |
| ProductName      | varchar(10) | YES  |     | NULL    |                |
| Shippingdatetime | datetime    | YES  |     | NULL    |                |
| ProductPrice     | int(11)     | YES  |     | NULL    |                |
+------------------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

위 테이블은 총 네 개의 필드로 구성되어 있으며, 그중 세 개의 필드(ProductId, ProductName, ProductPrice)가 'Product'라는 단어로 시작합니다.

열 이름에 와일드카드 적용하기

이제 LIKE 연산자와 '%' 와일드카드를 사용해 'product'로 시작하는 열 이름만 조회해 보겠습니다. 실행 쿼리는 다음과 같습니다.

mysql> select column_name from information_schema.columns
    -> where table_name = 'WildcardDemo'
    -> and column_name LIKE 'product%';

출력 결과

+--------------+
| COLUMN_NAME  |
+--------------+
| ProductId    |
| ProductName  |
| ProductPrice |
+--------------+
3 rows in set (0.10 sec)

결과를 보면 'Product'로 시작하는 세 개의 열 이름만 정확히 필터링되어 반환된 것을 확인할 수 있습니다. 이처럼 INFORMATION_SCHEMA.COLUMNSLIKE 연산자를 조합하면, 대규모 데이터베이스에서도 원하는 패턴의 열 이름을 빠르고 간편하게 검색할 수 있습니다.