Überprüfen Sie, ob String bestimmte Daten in MySQL enthält

Preet Sanghavi 30 Januar 2023
  1. Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie die LOCATE-Funktion in MySQL verwenden
  2. Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie die INSTR-Funktion in MySQL verwenden
  3. Überprüfen Sie, ob String bestimmte Daten in MySQL enthält, indem Sie den LIKE-Operator in MySQL verwenden
Überprüfen Sie, ob String bestimmte Daten in MySQL enthält

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 - Funktion
  • LOCATE - Funktion
  • LIKE - 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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Query