Maison > base de données > tutoriel mysql > Comment trouver des correspondances exactes de mots dans MySQL à l'aide d'expressions régulières ?

Comment trouver des correspondances exactes de mots dans MySQL à l'aide d'expressions régulières ?

Patricia Arquette
Libérer: 2025-01-14 07:35:45
original
925 Les gens l'ont consulté

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

Correspondance exacte du texte intégral MySQL

La recherche de mots-clés dans un champ de texte est une tâche courante, mais parfois vous souhaitez simplement faire correspondre des mots exacts. Par exemple, si vous recherchez « rid », vous ne souhaitez pas obtenir des résultats comme « aride », mais uniquement des instances de « a rid ».

La requête SQL de MySQL apporte une solution à ce problème. Cet article examine en profondeur les moyens de trouver des correspondances de mots complètes dans MySQL.

La merveilleuse utilisation des expressions régulières

La fonction REGEXP de MySQL est cruciale pour affiner les recherches de texte. Il vous permet d'utiliser les marqueurs de limites de mots [[:<:]] et [[:>:]] pour limiter la correspondance aux mots complets. Considérez la requête suivante :

<code class="language-sql">SELECT *
FROM table
WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
Copier après la connexion

Cette requête correspond aux lignes où le champ keywords contient « rid » comme un seul mot. Il exclut les correspondances partielles comme « aride » ou « co-rid ».

MySQL 8.0.4 et supérieur

Dans MySQL 8.0.4 et versions ultérieures, le moteur d'expressions régulières a été amélioré. Les marqueurs de limites de mots ont été mis à jour selon la norme b. Par conséquent, la requête ci-dessus devient :

<code class="language-sql">SELECT *
FROM table
WHERE keywords REGEXP '\brid\b'</code>
Copier après la connexion

N'oubliez pas d'échapper la barre oblique inverse (\) avec une autre barre oblique inverse () pour éviter les vulnérabilités d'injection SQL.

Cette méthode constitue un moyen pratique et efficace de rechercher des correspondances de mots complètes dans MySQL, quelle que soit la taille de votre base de données ou vos exigences de performances. Il vous permet d'affiner vos requêtes et d'augmenter la pertinence de vos résultats de recherche.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal