Das Schlüsselwort LIKE wird in MySQL für den Mustervergleich in SQL-Abfragen verwendet. Sie ermöglicht es dir, nach einem bestimmten Muster in einer Spalte zu suchen, das häufig mit SELECT Anweisungen verwendet wird, um Ergebnisse zu filtern.
Verwendung
Das Schlüsselwort LIKE wird in WHERE Klauseln verwendet, um Datensätze zu finden, die einem bestimmten Muster entsprechen. Es unterstützt zwei Platzhalter: % entspricht einer beliebigen Folge von Zeichen und _ entspricht einem einzelnen Zeichen.
sql
SELECT column1, column2,...FROM table_name
WHERE column_name LIKE pattern;Bereitgestellt von
In dieser Syntax wird LIKE pattern verwendet, um Zeilen zu filtern, in denen column_name mit dem angegebenen Muster übereinstimmt.
Diese Abfrage ruft alle Zeilen aus der Tabelle products ab, deren product_name mit dem Buchstaben 'a' beginnt.
2. Einzeichen-Wildcard
sql
SELECT*FROM employees
WHERE last_name LIKE'Sm_th';Bereitgestellt von
Dieses Beispiel holt Zeilen aus der Tabelle employees, in denen die last_name fünf Zeichen lang ist, beginnend mit "Sm" und endend mit "th", mit einem beliebigen einzelnen Zeichen dazwischen.
3. Kombinieren von Platzhaltern
sql
SELECT*FROM customers
WHERE address LIKE'%Street%';Bereitgestellt von
Hier wählt die Abfrage Datensätze aus der Tabelle customers aus, deren address das Wort "Straße" irgendwo in der Zeichenfolge enthält.
4. Groß- und Kleinschreibung erzwingen
sql
SELECT*FROM users
WHEREBINARY username LIKE'Admin%';Bereitgestellt von
In diesem Beispiel wird die Groß- und Kleinschreibung beachtet und es werden alle Zeilen gefunden, in denen username mit "Admin" beginnt, wobei die Groß- und Kleinschreibung beachtet wird.
Tipps und bewährte Praktiken
Verwende Wildcards sparsam. Die übermäßige Nutzung von % kann zu vollständigen Scans der Tabelle führen, was die Leistung beeinträchtigen kann. Die Indizierung ist oft unwirksam, wenn % am Anfang eines Musters steht.
Groß- und Kleinschreibung und Sortierreihen.LIKE unterscheidet bei den meisten Sortierreihen nicht zwischen Groß- und Kleinschreibung, aber bei einigen wird die Groß- und Kleinschreibung beachtet. Verwende BINARY, um die Groß- und Kleinschreibung zu berücksichtigen, falls nötig. Sie kann auch mit Unicode-Zeichensätzen verwendet werden, was sich auf Sonderzeichen auswirkt.
Optimiere mit Indizes. Ziehe in Erwägung, Indizes für Spalten zu erstellen, die häufig mit LIKE verwendet werden, um die Abfrageleistung zu verbessern, aber beachte, dass Platzhalter am Anfang des Musters diese Vorteile zunichte machen können.
Kombiniere mit anderen Bedingungen. Verbessere die Abfrageeffizienz, indem du LIKE mit anderen Bedingungen in der WHERE Klausel kombinierst.
Leistungsanalyse. Mit EXPLAIN kannst du analysieren, wie sich LIKE Abfragen auf die Leistung auswirken und deine Abfragen entsprechend anpassen.
Das Schlüsselwort
LIKEwird in MySQL für den Mustervergleich in SQL-Abfragen verwendet. Sie ermöglicht es dir, nach einem bestimmten Muster in einer Spalte zu suchen, das häufig mitSELECTAnweisungen verwendet wird, um Ergebnisse zu filtern.Verwendung
Das Schlüsselwort
LIKEwird inWHEREKlauseln verwendet, um Datensätze zu finden, die einem bestimmten Muster entsprechen. Es unterstützt zwei Platzhalter:%entspricht einer beliebigen Folge von Zeichen und_entspricht einem einzelnen Zeichen.In dieser Syntax wird
LIKE patternverwendet, um Zeilen zu filtern, in denencolumn_namemit dem angegebenen Muster übereinstimmt.Beispiele
1. Grundlegende Musterabgleiche
Diese Abfrage ruft alle Zeilen aus der Tabelle
productsab, derenproduct_namemit dem Buchstaben 'a' beginnt.2. Einzeichen-Wildcard
Dieses Beispiel holt Zeilen aus der Tabelle
employees, in denen dielast_namefünf Zeichen lang ist, beginnend mit "Sm" und endend mit "th", mit einem beliebigen einzelnen Zeichen dazwischen.3. Kombinieren von Platzhaltern
Hier wählt die Abfrage Datensätze aus der Tabelle
customersaus, derenaddressdas Wort "Straße" irgendwo in der Zeichenfolge enthält.4. Groß- und Kleinschreibung erzwingen
In diesem Beispiel wird die Groß- und Kleinschreibung beachtet und es werden alle Zeilen gefunden, in denen
usernamemit "Admin" beginnt, wobei die Groß- und Kleinschreibung beachtet wird.Tipps und bewährte Praktiken
%kann zu vollständigen Scans der Tabelle führen, was die Leistung beeinträchtigen kann. Die Indizierung ist oft unwirksam, wenn%am Anfang eines Musters steht.LIKEunterscheidet bei den meisten Sortierreihen nicht zwischen Groß- und Kleinschreibung, aber bei einigen wird die Groß- und Kleinschreibung beachtet. VerwendeBINARY, um die Groß- und Kleinschreibung zu berücksichtigen, falls nötig. Sie kann auch mit Unicode-Zeichensätzen verwendet werden, was sich auf Sonderzeichen auswirkt.LIKEverwendet werden, um die Abfrageleistung zu verbessern, aber beachte, dass Platzhalter am Anfang des Musters diese Vorteile zunichte machen können.LIKEmit anderen Bedingungen in derWHEREKlausel kombinierst.EXPLAINkannst du analysieren, wie sichLIKEAbfragen auf die Leistung auswirken und deine Abfragen entsprechend anpassen.