ホームページ >データベース >mysql チュートリアル >正規表現を使用して MySQL で完全に一致する単語を見つけるにはどうすればよいですか?

正規表現を使用して MySQL で完全に一致する単語を見つけるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-14 07:35:45926ブラウズ

How to Find Exact Word Matches in MySQL Using Regular Expressions?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。