LIKE 구문은 % 기호와 함께 사용하여 특정 문자열이 들어간 데이터를 검색하는 용도로 사용된다. SELECT 구문의 WHERE 조건절에 추가하여 사용되며 많은 데이터 중 특정 문자열이 있는 데이터를 찾는다. 검색될 문자열의 앞 또는 뒤에 위치한 % 기호에 따라 검색 결과는 달라지며 %은 임의의 문자열을 의미한다.
mysql LIKE 구문 사용하여 특정 구문 찾기
using WEHE LIKE statement
mysql 에서 데이터를 담고 있는 곳은 테이블이다. 시간이 지나면서 서비스를 지속하고 있다면 많은 수의 데이터를 가지고 있는 테이블을 볼 수 있다.
적게는 몇 백게 많게는 몇심만개 이상 테이블의 크기 또한 비대해 졌을 것이다.
이런 경우 sql 에서 검색부분이 중요해 진다.
특정 문자를 정확히 알고 있다면 검색에 유리하겠지만 그렇지 않을 경우 중요한 키워드로 데이터를 검색할 수 밖에 없다.
mysql 에서 LIKE 구문을 사용하면 특정 키워드를 사용하여 데이터를 검색할 수 있는데 % 키워드를 사용하여 특정 키워드가 속한 데이터를 모두 검색할 수 있다.
특정 구문 찾기 LIKE
mysql 의 LIKE 구문은 SELECT 문의 WHERE 조건문에서 특정 컬럼의 특정 문자열이 있는지 검색한다.
정확한 단어를 사용해도 되고, 그렇지 않아도 된다 % 은 검색할 단어와 합하여 단어를 찾게 된다.
%은 임의의 모든 문자열을 의미한다.
%이 앞에 위치하면 검색할 단어가 특정 문자열로 끝나는 임의의 문자열을 의미한다.
%이 뒤에 위치하면 검색할 단어가 특정 문자열로 시작하는 임의의 문자열을 의미한다.
%은 앞뒤로 붙을 수도 있는데 검색할 단어가 특정 문자열에 속해있는 것을 의미한다.
아래는 %과 LIKE 를 사용하는 것을 보여준다.
SELECT * FROM 테이블명
WHERE 컬럼명 LIKE '단어%'
;
SELECT * FROM 테이블명
WHERE 컬럼명 LIKE '%단어'
;
SELECT * FROM 테이블명
WHERE 컬럼명 LIKE '%단어%'
;
샘플코드
위의 예제를 이용하여 mysql 쿼리문을 작성해 보도록 한다.
LIKE 구문은 SELECT 문에서 WHERE 조건절과 함께 사용하여 검색할 특정 단어가 들어간 데이터를 검색하는 용도로 사용된다.
% 기호와 함께 사용하며, %의 의미는 임의의 문자열이기도 하다.
% 기호가 검색할 단어의 앞에 위치할 때와 뒤에 위치할 때, 앞 뒤로 동시에 위치할 때의 차이는 다르다.
/** tb_sample 테이블을 생성 */
CREATE TABLE tb_sample (
idx INT,
company VARCHAR(250),
sell INT,
title VARCHAR(250),
content TEXT,
insert_date DATETIME,
update_date DATETIME
)
;
/** tb_sample 테이블에 데이터 추가 */
INSERT INTO tb_sample ( idx, company, sell, title, content, insert_date, update_date )
VALUES( '1', '현대자동차', 10000, NULL, '내용1', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, sell, title, content, insert_date, update_date )
VALUES( '2', '기아자동차', 10000, '제목2', NULL, NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, sell, title, content, insert_date, update_date )
VALUES ( '3', '현대자동차', 10000, NULL, '내용3', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, sell, title, content, insert_date, update_date )
VALUES ( '4', '기아자동차', 10000, '제목4', NULL, NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, sell, title, content, insert_date, update_date )
VALUES ( '5', '쌍용자동차', 10000, NULL, '내용5', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, sell, title, content, insert_date, update_date )
VALUES ( '6', '에디슨모터스', 10000, NULL, '내용6', NOW(), NOW() )
;
/** tb_sample 테이블 조회 */
SELECT * FROM tb_sample
WHERE company LIKE '%모터스'
;
SELECT * FROM tb_sample
WHERE company LIKE '현대%'
;
SELECT * FROM tb_sample
WHERE company LIKE '%자동%'
;
/** tb_sample 테이블 데이터 삭제 */
DELETE FROM tb_sample
;
/** tb_sample 테이블 데이터 완전 삭제 */
TRUNCATE tabLE tb_sample
;
/** tb_sample 테이블 삭제 */
DROP TABLE tb_sample
;
/*-----*/
코드는 길지만 LIKE 구문이 들어간 SELECT 쿼리문만 보면 된다.
테이블의 생성부터 삭제까지 존재하며 LIKE 구문이 % 기호와 검색할 단어가 어떻게 조합되어 결과로 표시되는지 확인만 하면 된다.
결과화면을 보자.
'programming > DataManage' 카테고리의 다른 글
mysql 반복문 while 사용 방법 더미 테스트 데이터 만들기에 유용한 팁 (0) | 2022.10.03 |
---|---|
mysql LIKE 와일드카드 사용하기 using mysql LIKE statement with wildcard (0) | 2022.06.28 |
mysql 숫자 관련 함수 사용 COUNT SUM AVG using mysql number functions (0) | 2022.06.18 |
mysql 최대값 최소값 함수 사용하기 using mysql max min function (0) | 2022.06.16 |
mysql SELECT LIMIT 정해진 수만큼 조회하기 using mysql SELECT LIMIT Statement (0) | 2022.06.11 |
댓글