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

MySQL에서 % 와일드카드를 올바르게 사용하는 방법

MySQL에서 % 와일드카드는 문자열 검색 시 매우 유용한 도구입니다. % 와일드카드는 0개, 1개 또는 여러 개의 임의의 문자를 대체할 수 있어서, 부분 일치 검색에 활용됩니다. 이 와일드카드를 사용하려면 LIKE 연산자와 함께 사용해야 합니다.

LIKE 연산자와 % 와일드카드 기본 문법

SELECT * FROM yourTableName
WHERE yourColumnName LIKE '조건%';

위 문법에서 조건 뒤에 붙은 %는 해당 조건으로 시작하는 모든 문자열과 일치함을 의미합니다. 그럼 실제 예제를 통해 개념을 자세히 살펴보겠습니다.

예제 테이블 생성하기

먼저 실습용 테이블을 생성하겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> CREATE TABLE SearchDemo
   -> (
   -> Name VARCHAR(100),
   -> LoginId VARCHAR(100)
   -> );
Query OK, 0 rows affected (1.15 sec)

데이터 삽입하기

INSERT 명령문을 사용하여 테이블에 여러 레코드를 삽입합니다.

mysql> INSERT INTO SearchDemo VALUES('John','1_1');
Query OK, 1 row affected (0.19 sec)

mysql> INSERT INTO SearchDemo VALUES('Johnson','1_2');
Query OK, 1 row affected (0.19 sec)

mysql> INSERT INTO SearchDemo VALUES('Carol','2_1');
Query OK, 1 row affected (0.12 sec)

mysql> INSERT INTO SearchDemo VALUES('Bob','11_1');
Query OK, 1 row affected (0.19 sec)

mysql> INSERT INTO SearchDemo VALUES('Sam','11_2');
Query OK, 1 row affected (0.25 sec)

mysql> INSERT INTO SearchDemo VALUES('Mike','21_1');
Query OK, 1 row affected (0.22 sec)

전체 데이터 조회하기

SELECT 문을 사용하여 테이블의 모든 레코드를 확인해 보겠습니다.

mysql> SELECT * FROM SearchDemo;

실행 결과는 다음과 같습니다.

+---------+---------+
| Name    | LoginId |
+---------+---------+
| John    | 1_1     |
| Johnson | 1_2     |
| Carol   | 2_1     |
| Bob     | 11_1    |
| Sam     | 11_2    |
| Mike    | 21_1    |
+---------+---------+
6 rows in set (0.00 sec)

% 와일드카드로 조건 검색하기

% 와일드카드는 0개, 1개 또는 여러 개의 문자를 나타내는 특수 기호입니다. 예를 들어 LoginId가 '2'로 시작하는 모든 레코드를 조회하고 싶다면 다음과 같이 쿼리를 작성할 수 있습니다.

mysql> SELECT * FROM SearchDemo
   -> WHERE LoginId LIKE '2%';

실행 결과는 다음과 같습니다.

+-------+---------+
| Name  | LoginId |
+-------+---------+
| Carol | 2_1     |
| Mike  | 21_1    |
+-------+---------+
2 rows in set (0.00 sec)

결과를 보면 '2_1'과 '21_1'처럼 '2'로 시작하는 LoginId를 가진 두 개의 레코드만 반환된 것을 확인할 수 있습니다. 이처럼 % 와일드카드는 특정 패턴으로 시작하는 데이터를 손쉽게 검색할 때 활용됩니다.

참고: % 와일드카드의 다양한 활용

% 와일드카드는 위치에 따라 다른 의미로 사용할 수 있습니다. '2%'는 '2'로 시작하는 문자열, '%1'은 '1'로 끝나는 문자열, '%2_%'는 중간에 '2_'를 포함하는 문자열과 일치합니다. 또한 '_'(언더스코어) 와일드카드와 함께 사용하면 더욱 정교한 패턴 매칭이 가능합니다.