MySQL에서 특정 키워드가 포함된 레코드를 여러 개 검색하려면 LIKE 연산자와 OR 연산자를 함께 사용하면 됩니다. LIKE는 패턴 매칭을 통해 문자열을 검색하고, OR은 여러 검색 조건 중 하나라도 만족하는 레코드를 모두 가져옵니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
Subject text
);
Query OK, 0 rows affected (0.86 sec)2. 레코드 삽입하기
INSERT 명령문을 사용해 테이블에 샘플 데이터를 입력합니다.
mysql> insert into DemoTable values('Introduction to MySQL');
Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable values('Deep Dive using Java');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('C in Depth');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Introduction to C++');
Query OK, 1 row affected (0.48 sec)3. 전체 레코드 확인하기
SELECT 문으로 테이블에 저장된 모든 레코드를 조회합니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+-----------------------+ | Subject | +-----------------------+ | Introduction to MySQL | | Deep Dive using Java | | C in Depth | | Introduction to C++ | +-----------------------+ 4 rows in set (0.00 sec)
4. LIKE와 OR로 텍스트 검색하기
이제 'MySQL' 또는 'using'이라는 단어가 포함된 레코드를 검색하는 쿼리입니다. 와일드카드(%)를 앞뒤에 붙여 해당 키워드가 문자열 어디에 있든 매칭되도록 합니다.
mysql> select *from DemoTable where Subject LIKE '%MySQL%' OR Subject LIKE '%using%';
위 쿼리의 실행 결과입니다.
+-----------------------+ | Subject | +-----------------------+ | Introduction to MySQL | | Deep Dive using Java | +-----------------------+ 2 rows in set (0.00 sec)
정리
LIKE 연산자에 % 와일드카드를 사용하면 부분 일치 검색이 가능하며, OR로 조건을 연결하면 여러 키워드를 동시에 검색할 수 있습니다. 이 방식은 소규모 데이터나 간단한 검색 기능 구현에 유용하지만, 대용량 데이터에서는 FULLTEXT 인덱스나 전문 검색(Full-Text Search) 기능을 활용하는 것이 성능 면에서 더 효율적입니다.