서방님 avatar

[MySQL] 정규식을 이용한 검색 regexp

seobangnim

Published: 23 May 2018 › Updated: 23 May 2018[MySQL] 정규식을 이용한 검색 regexp

[MySQL] 정규식을 이용한 검색 regexp

regexp 란?

like 검색과는 달리 정규식을 이용한 검색 방식을 말한다.
regexp는 우리에게 like보다 좀 더 다양한 검색을 할 수 있도록 도움을 준다.
(관련 URL : http://dev.mysql.com/doc/refman/5.1/en/regexp.html )

regexp 를 이용한 검색의 예제

select * from test where name regexp '가'

name 필드에 '가'를 포함한 모든 레코드를 출력한다.
(select * from test where name like '%가%') 의 쿼리와 동일하다

select * from test where name regexp '가|나|다|라'

name 필드에 가 또는 나 또는 다 또는 라 를 포함한 레코드를 모두 출력한다.
(select * from test where name like '%가%' or name like '%나%' or name like '%다%' or name like '%라%') 쿼리와 동일

select * from test where name regexp '[가-힇]'

name 필드에 한글이 포함된 모든 레코드를 검색한다.

select * from test where name regexp '^[가-힇]+$'

name 필드에 한글로만 구성된 모든 레코드를 검색한다.

regexp 정규식 기호에 대한 간단한 소개

. :   .
* :    0   .
^ :   .
$ :   .
[.] :     .
{.} :  .
| : or  .
  • 참고사항
    정규식의 검색을 이용할때 절대 사용자에게 정규식 기능을 제공해선 안된다.
    각 종 오류를 포함할 수 있고 sql 인젝션에 취약해지기 때문에
    정규식의 검색을 개발자가 미리 정한 테두리 안에서 행해져야 한다.

Leave [MySQL] 정규식을 이용한 검색 regexp to:

Written by

Read more #mysql posts


Best Posts From 서방님

We have not curated any of seobangnim's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From 서방님