Exakter MySQL-Volltextabgleich
Die Suche nach Schlüsselwörtern in einem Textfeld ist eine häufige Aufgabe, aber manchmal möchten Sie einfach nur exakte Wörter finden. Wenn Sie beispielsweise nach „rid“ suchen, möchten Sie keine Ergebnisse wie „arid“, sondern nur Vorkommen von „arid“ erhalten.
Die SQL-Abfrage von MySQL bietet eine Lösung für dieses Problem. Dieser Artikel befasst sich ausführlich mit Möglichkeiten, vollständige Wortübereinstimmungen in MySQL zu finden.
Die wunderbare Verwendung regulärer Ausdrücke
Die REGEXP-Funktion von MySQL ist für die Feinabstimmung der Textsuche von entscheidender Bedeutung. Sie können die Wortgrenzenmarkierungen [[:<:]]
und [[:>:]]
verwenden, um die Übereinstimmung auf vollständige Wörter zu beschränken. Betrachten Sie die folgende Abfrage:
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
Diese Abfrage sucht nach Zeilen, in denen das Feld keywords
„rid“ als einzelnes Wort enthält. Teilübereinstimmungen wie „arid“ oder „co-rid“ sind ausgeschlossen.
MySQL 8.0.4 und höher
In MySQL 8.0.4 und höher wurde die Engine für reguläre Ausdrücke verbessert. Wortgrenzenmarkierungen wurden auf den Standard b
aktualisiert. Daher lautet die obige Abfrage:
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\brid\b'</code>
Denken Sie daran, das Backslash-Zeichen (\
) mit einem anderen Backslash () zu maskieren, um SQL-Injection-Schwachstellen zu vermeiden.
Diese Methode bietet eine bequeme und effiziente Möglichkeit, vollständige Wortübereinstimmungen in MySQL zu finden, unabhängig von der Größe Ihrer Datenbank oder Ihren Leistungsanforderungen. Es ermöglicht Ihnen, Ihre Suchanfragen zu verfeinern und die Relevanz Ihrer Suchergebnisse zu erhöhen.
Das obige ist der detaillierte Inhalt vonWie finde ich mithilfe regulärer Ausdrücke genaue Wortübereinstimmungen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!