MySQL の完全な完全一致一致
テキスト フィールドでキーワードを検索するのは一般的なタスクですが、単に単語を完全に一致させたい場合もあります。たとえば、「rid」を検索した場合、「arid」のような結果を取得するのではなく、「a Rid」のインスタンスのみを取得する必要があります。
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 中国語 Web サイトの他の関連記事を参照してください。