MySQL에서 문자열이 포함된 행 값을 선택하려면 다음 구문을 사용하십시오.
SELECT *FROM yourTableName where yourColumnName like ‘%yourPattern%’;
위의 구문을 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table PatternDemo -> ( -> Id int, -> Name varchar(100), -> Age int -> ); Query OK, 0 rows affected (0.97 sec)
insert 명령을 사용하여 테이블에 레코드를 삽입합니다. 쿼리는 다음과 같습니다.
mysql> insert into PatternDemo values(1,'James',23); Query OK, 1 row affected (0.11 sec) mysql> insert into PatternDemo values(2,'Joseph',21); Query OK, 1 row affected (0.18 sec) mysql> insert into PatternDemo values(3,'Robert',20); Query OK, 1 row affected (0.11 sec) mysql> insert into PatternDemo values(4,'John',26); Query OK, 1 row affected (0.10 sec) mysql> insert into PatternDemo values(5,'Richard',24); Query OK, 1 row affected (0.17 sec)
이제 select 문을 사용하여 테이블의 모든 레코드를 표시할 수 있습니다. 쿼리는 다음과 같습니다.
mysql> select *from PatternDemo;
다음은 출력입니다.
+------+---------+------+ | Id | Name | Age | +------+---------+------+ | 1 | James | 23 | | 2 | Joseph | 21 | | 3 | Robert | 20 | | 4 | John | 26 | | 5 | Richard | 24 | +------+---------+------+ 5 rows in set (0.00 sec)
다음은 "Jo"라는 문자가 있는 모든 이름을 제공하는 쿼리입니다. 쿼리는 다음과 같습니다.
mysql> select *from PatternDemo where Name like '%Jo%';
다음은 출력입니다.
+------+--------+------+ | Id | Name | Age | +------+--------+------+ | 2 | Joseph | 21 | | 4 | John | 26 | +------+--------+------+ 2 rows in set (0.00 sec)