MySQL LIKE-Klausel
Wir wissen, dass wir in MySQL den BefehlSELECTverwenden, um Daten zu lesen, und wir können in der AnweisungSELECTauchWHEREdie Klausel verwenden, um bestimmte Datensätze abzurufen.
Sie können in der WHERE-Klausel das Gleichheitszeichen=verwenden, um die Bedingung für das Abrufen von Daten festzulegen, z. B. "example_author = 'example.com'".
Manchmal müssen wir jedoch alle Datensätze abrufen, in denen das Feld example_author die Zeichen "COM" enthält. In solchen Fällen müssen wir in der WHERE-KlauselLIKEdie LIKE-Klausel verwenden.
LIKEDie LIKE-Klausel ist ein Schlüsselwort in MySQL, das für unscharfe Übereinstimmung in der WHERE-Klausel verwendet wird. Sie wird üblicherweise zusammen mit Platzhaltern verwendet, um nach Zeichenfolgen zu suchen, die einem bestimmten Muster entsprechen.LIKEIn der Klausel wird das Prozentzeichen%verwendet, um ein beliebiges Zeichen darzustellen, ähnlich dem Sternchen in UNIX oder regulären Ausdrücken.*。
Wenn das Prozentzeichen nicht verwendet wird%, haben die LIKE-Klausel und das Gleichheitszeichen=die gleiche Wirkung.
Syntax
Das Folgende ist die allgemeine Syntax für eine SQL-SELECT-Anweisung, die die LIKE-Klausel verwendet, um Daten aus einer Tabelle zu lesen:
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern;
Parameter description:
column1,column2, ... sind die Namen der Spalten, die Sie auswählen möchten. Wenn Sie*es bedeutet, alle Spalten auszuwählen.table_nameist der Name der Tabelle, aus der Sie Daten abfragen möchten.column_nameist diejenige, die Sie anwenden möchten.LIKEder Name der Spalte für die Klausel.patternist das Muster, das zum Abgleichen verwendet wird und Platzhalter enthalten kann.
Weitere Informationen:
- Sie können jede beliebige Bedingung in der WHERE-Klausel angeben.
- Sie können die LIKE-Klausel in der WHERE-Klausel verwenden.
- Sie können die LIKE-Klausel anstelle des Gleichheitszeichens verwenden.=。
- LIKE wird normalerweise zusammen mit%verwendet, ähnlich einer Metazeichensuche.
- Sie können AND oder OR verwenden, um eine oder mehrere Bedingungen anzugeben.
- Sie können die WHERE...LIKE-Klausel in DELETE- oder UPDATE-Befehlen verwenden, um Bedingungen anzugeben.
Beispiele
Das Folgende sind einigeLIKEBeispiele für die Verwendung der LIKE-Klausel.
1. Prozentzeichen-Platzhalter %:
%Der Platzhalter steht für null oder mehr Zeichen. Zum Beispiel stimmt'a%'mit Zeichenketten überein, die mit dem Buchstaben beginnen'a'jede Zeichenkette, die damit beginnt.
SELECT * FROM customers WHERE last_name LIKE 'S%';
Die obige SQL-Anweisung wählt alle Kunden aus, deren Nachname mit 'S' beginnt.
2. Unterstrich-Platzhalter _:
_Der Platzhalter steht für ein einzelnes Zeichen. Zum Beispiel stimmt'_r%'mit jeder Zeichenkette überein, bei der der zweite Buchstabe'r'jede Zeichenkette ist.
SELECT * FROM products WHERE product_name LIKE '_a%';
Die obige SQL-Anweisung wählt alle Produkte aus, deren Produktname an zweiter Stelle ein 'a' enthält.
3. Kombination von % und _:
SELECT * FROM users WHERE username LIKE 'a%o_';
Die obige SQL-Anweisung stimmt mit Zeichenketten überein, die mit dem Buchstaben 'a' beginnen, gefolgt von null oder mehr Zeichen, dann einem 'o' und schließlich einem einzelnen beliebigen Zeichen, wie z. B. 'aaron', 'apol'.
4. Übereinstimmung ohne Beachtung der Groß-/Kleinschreibung:
SELECT * FROM employees WHERE last_name LIKE 'smi%' COLLATE utf8mb4_general_ci;
Die obige SQL-Anweisung wählt die Nachnamen aller Mitarbeiter aus, die mit'smi'beginnen, unabhängig von der Groß-/Kleinschreibung.
LIKEDie LIKE-Klausel bietet leistungsstarke unscharfe Suchfunktionen und kann entsprechend unterschiedlichen Mustern und Anforderungen angepasst werden. Achten Sie bei der Verwendung darauf, die Bedeutung der Platzhalter zu verstehen und entsprechend der tatsächlichen Situation abzugleichen.
Verwendung der LIKE-Klausel in der Eingabeaufforderung
Im Folgenden werden wirSELECTden BefehlWHERE...LIKEdie LIKE-Klausel verwenden, um Daten aus der MySQL-Tabelle example_tbl zu lesen.
Beispiele
Im Folgenden wird gezeigt, wie wir aus der Tabelle example_tbl die Datensätze abrufen, bei denen das Feld example_authorCOMendet mit:
SQL-LIKE-Anweisung:
Verwendung der LIKE-Klausel in einem PHP-Skript
Sie können die PHP-Funktion mysqli_query() und denselben SELECT-Befehl mit einer WHERE...LIKE-Klausel verwenden, um Daten abzurufen.
Diese Funktion wird verwendet, um den SQL-Befehl auszuführen, und dann die PHP-Funktion mysqli_fetch_array() zu verwenden, um alle abgefragten Daten auszugeben.
Wenn es sich jedoch um eine SQL-Anweisung handelt, die eine WHERE...LIKE-Klausel in DELETE oder UPDATE verwendet, muss die Funktion mysqli_fetch_array() nicht verwendet werden.
Beispiele
Im Folgenden wird gezeigt, wie wir mit einem PHP-Skript alle Datensätze aus der Tabelle example_tbl lesen, bei denen das Feld example_author mit COM endet:
MySQL LIKE-Klausel Test:
Das Ausgabeergebnis ist in der folgenden Abbildung dargestellt: