MySQL 정확한 전체 텍스트 일치
텍스트 필드에서 키워드를 검색하는 것은 일반적인 작업이지만 때로는 정확한 단어를 일치시키고 싶을 때도 있습니다. 예를 들어, "rid"를 검색하는 경우 "arid"와 같은 결과는 얻지 않고 "arid"라는 인스턴스만 얻으려고 합니다.
MySQL의 SQL 쿼리는 이 문제에 대한 해결책을 제공합니다. 이 기사에서는 MySQL에서 완전한 단어 일치를 찾는 방법을 심층적으로 살펴봅니다.
정규식의 놀라운 활용
MySQL의 REGEXP 기능은 텍스트 검색을 미세 조정하는 데 중요합니다. 단어 경계 표시 [[:<:]]
및 [[:>:]]
를 사용하여 일치 항목을 완전한 단어로 제한할 수 있습니다. 다음 쿼리를 고려해보세요.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
이 쿼리는 keywords
필드에 "rid"가 단일 단어로 포함된 행과 일치합니다. "arid" 또는 "co-rid"와 같은 부분 일치는 제외됩니다.
MySQL 8.0.4 이상
MySQL 8.0.4 이상에서는 정규식 엔진이 향상되었습니다. 단어 경계 표시가 표준 b
으로 업데이트되었습니다. 따라서 위 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\brid\b'</code>
SQL 삽입 취약점을 방지하려면 백슬래시 문자(\
)를 다른 백슬래시()로 이스케이프해야 합니다.
이 방법은 데이터베이스 크기나 성능 요구 사항에 관계없이 MySQL에서 완전한 단어 일치를 찾는 편리하고 효율적인 방법을 제공합니다. 이를 통해 쿼리를 구체화하고 검색 결과의 관련성을 높일 수 있습니다.
위 내용은 정규식을 사용하여 MySQL에서 정확한 단어 일치를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!