Überprüfen Sie, ob String bestimmte Daten in MySQL enthält
- Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie die LOCATE-Funktion in MySQL verwenden
- Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie die INSTR-Funktion in MySQL verwenden
- Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie den LIKE-Operator in MySQL verwenden
In diesem Tutorial möchten wir verschiedene Methoden untersuchen, um zu überprüfen, ob ein String in einer Tabelle in MySQL enthalten ist.
Wir werden die folgenden Techniken in MySQL durchgehen.
INSTR
- FunktionLOCATE
- FunktionLIKE
- Betreiber
Bevor wir jedoch beginnen, erstellen wir ein Dummy-Dataset, mit dem wir arbeiten können. Hier erstellen wir eine Tabelle, student_details
, zusammen mit einigen Zeilen darin.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Die obige Abfrage erstellt eine Tabelle zusammen mit Zeilen mit dem Vor- und Nachnamen des Schülers. Um die Einträge in den Daten einzusehen, verwenden wir den folgenden Code.
SELECT * FROM student_details;
Der obige Code würde die folgende Ausgabe ergeben.
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Versuchen wir, alle Schüler zu finden, die das Wort Parker
in ihrem Nachnamen enthalten.
Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie die LOCATE-Funktion in MySQL verwenden
Die Locate-Funktion in MySQL benötigt im Allgemeinen 2 Argumente, wie zum Beispiel LOCATE(substr, str)
. Dabei ist substr
der als erstes Argument übergebene Teilstring und str
der als zweites Argument übergebene String. Die Ausgabe der Funktion LOCATE
ist die erste Zeile mit dem Vorkommen des als Argument übergebenen Strings. Um diese Funktion in Aktion zu sehen, sehen Sie sich den folgenden Code an.
-- finding the word 'Park' from the table where the last name of the student is Park.
SELECT * FROM student_details WHERE LOCATE('Park', stu_lastName) > 0 ;
Der obige Code würde die folgende Ausgabe ergeben:
stu_id stu_firstName stu_lastName
6 Sachin Parker
Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie die INSTR-Funktion in MySQL verwenden
Ähnlich wie die LOCATE-Funktion nimmt die INSTR-Funktion INSTR(str, substr) 2 Argumente an. Diese Funktion gibt jedoch den Indexwert des ersten Auftretens der Zeichenkette in der als Parameter übergebenen TeilZeichenkette zurück. Dabei ist str
der als erstes Argument übergebene String und substr
der als zweites Argument übergebene Teilstring. Um diese Funktion in Aktion zu sehen, sehen Sie sich den folgenden Code an.
-- finding the word 'Park' from the table where the last name of the student is Park.
SELECT * FROM student_details WHERE INSTR(stu_lastName , 'Parker') > 0;
Der obige Code würde die folgende Ausgabe ergeben.
stu_id stu_firstName stu_lastName
6 Sachin Parker
Hinweis: Die Argumente werden in den Funktionen LOCATE(substr,str)
und INSTR(str,substr)
unterschiedlich übergeben.
Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie den LIKE-Operator in MySQL verwenden
Eine andere Alternative, um das Vorhandensein eines Strings in Ihren Daten zu finden, ist die Verwendung von LIKE
. Dieser Operator wird zusammen mit der WHERE
-Klausel verwendet, um nach einer bestimmten Zeichenkette zu suchen. Um diese Technik in Aktion zu sehen, sehen Sie sich den folgenden Code an.
-- finding the word 'Park' from the table where the last name of the student is Parker.
SELECT * FROM student_details WHERE stu_lastName LIKE 'Parker' ;
Der obige Code würde wieder die folgende Ausgabe ergeben.
stu_id stu_firstName stu_lastName
6 Sachin Parker
Darüber hinaus wird neben dem LIKE-Operator auch ein %
, auch als Wildcard bekannt, verwendet. Dieser Platzhalter steht, wie der Name schon sagt, für kein, ein oder mehrere Zeichen an seiner Stelle. Um diesen Platzhalter in Aktion zu sehen, sehen Sie sich den folgenden Code an.
-- finding the student with last name ending in 'arker' from the table.
SELECT * FROM student_details WHERE stu_lastName LIKE '%arker' ;
Der obige Code würde wieder die folgende Ausgabe ergeben.
stu_id stu_firstName stu_lastName
6 Sachin Parker
Somit können wir mit Hilfe der obigen drei Techniken effizient die Existenz eines Strings aus einer Tabelle finden.