MySQL LIKE Schlüsselwort
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;
In dieser Syntax wird LIKE pattern verwendet, um Zeilen zu filtern, in denen column_name mit dem angegebenen Muster übereinstimmt.
Beispiele
1. Grundlegende Musterabgleiche
sql
SELECT *
FROM products
WHERE product_name LIKE 'a%';
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';
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%';
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
WHERE BINARY username LIKE 'Admin%';
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.
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. - Optimiere mit Indizes. Ziehe in Erwägung, Indizes für Spalten zu erstellen, die häufig mit
LIKEverwendet 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
LIKEmit anderen Bedingungen in derWHEREKlausel kombinierst. - Leistungsanalyse. Mit
EXPLAINkannst du analysieren, wie sichLIKEAbfragen auf die Leistung auswirken und deine Abfragen entsprechend anpassen.