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.
LIKE
unterscheidet 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
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 derWHERE
Klausel kombinierst. - Leistungsanalyse. Mit
EXPLAIN
kannst du analysieren, wie sichLIKE
Abfragen auf die Leistung auswirken und deine Abfragen entsprechend anpassen.