Suchzeilen zum Auffinden von Teilstrings in MySQL

Mehvish Ashiq 30 Januar 2023
  1. Methode 1: Eine Zeichenkette/Unterzeichenkette mit dem Platzhalter % finden
  2. Methode 2: Finden Sie einen String/Substring mit der Funktion LOCATE()
  3. Schlussfolgerungen
Suchzeilen zum Auffinden von Teilstrings in MySQL

In einigen Situationen müssen Sie eine Zeichenfolge oder eine Teilzeichenfolge in einer Tabelle suchen.

Beispielsweise möchten Sie wissen, wie viele Google Mail-Benutzer in der Tabelle employee sind. Ein weiteres Beispiel ist, alle Vornamen beginnend mit Je in der employee-Tabelle zu finden.

Hier kommt die Suche nach einer Zeichenfolge oder Teilzeichenfolge ins Spiel, und es gibt verschiedene Suchmöglichkeiten. POSITION() für Standard-SQL, LOCATE() und %-Platzhalter für MySQL und INSTR() für Oracle.

Wir werden die von MySQL unterstützten Methoden lernen und beobachten, welche die beste und einfachste Möglichkeit ist, Zeilen zu durchsuchen, um Teilzeichenfolgen in MySQL zu finden. Sie können sich alle ansehen und dann entscheiden, welche Methode in Ihrem Fall am besten geeignet ist.

Methode 1: Eine Zeichenkette/Unterzeichenkette mit dem Platzhalter % finden

% Wildcard wird verwendet, um ein oder mehrere Zeichen in einer Zeichenfolge zu ersetzen. Dieser Platzhalter wird mit dem LIKE-Operator verwendet, und der LIKE-Operator wird in der WHERE-Klausel verwendet.

Zur Übung haben wir eine neue Tabelle mit dem Namen employee erstellt. Sie können dasselbe erstellen und mit Daten füllen, indem Sie den unten angegebenen Beispielcode verwenden.

Auf diese Weise werden wir beim Lernen auf derselben Seite sein.

#Create employee table
CREATE TABLE employee(
id int not null primary key,
firstname varchar(60) not null,
lastname varchar(60) not null,
gender varchar(30) not null,
city varchar(40) not null,
email varchar(60) not null
);

#Insert data into employee table.
INSERT INTO employee VALUES 
    (1,'James','Robert','Male','London','jrober@gmail.com'),
    (2,'Mary','Patricia','Female','Berlin','patricia@gmail.com'),
    (3,'John','Michael','Male','Paris','johnmichael@yahoo.com'),
    (4,'Jennifer','Linda','Female','Lisbon','jennifer@hotmail.com'),
    (5,'William','David','Male','Rome','wdwilliam@gmail.com'),
    (6,'Elizabeth','Barbara','Female','Dublin','elibarbara011@yahoo.com'),
    (7,'Richard','Joseph','Male','Oslo', 'richard@gmail.com'),
    (8,'Susan','Jessica','Female','Hamburg','susan01@yahoo.com'),
    (9,'Thomas','Charles','Male','Texas', 'thomas.charles@hotmail.com'),
    (10,'Karen','Nancy','Female','Washington','karenofficial@gmail.com');

SELECT * FROM employee;

Ausgabe:

Durchsuchen Sie Zeilen, um Teilzeichenfolgen in der mysql-Employee-Tabelle zu finden

Betrachten wir verschiedene Szenarien zum Durchsuchen von Zeilen, um eine Zeichenfolge oder Teilzeichenfolge mit dem Platzhalter % zu finden.

Szenario 1: Finden Sie alle Gmail-Benutzer. Das heißt, wir müssen einen Teilstring in der E-Mail finden.

SELECT firstname, lastname from employee where email LIKE '%@gmail.com';

Die obige SQL-Abfrage wählt firstname und lastname aus der employee-Tabelle, deren email-String gmail.com enthält.

Ausgabe:

Durchsuchen Sie Zeilen, um Teilzeichenfolgen in MySQL zu finden - Suchen Sie Google Mail-Benutzer mit Platzhaltern

Szenario 2: Wählen Sie die Nachnamen aus, die mit dem Buchstaben a enden. Hier finden wir eine Zeichenfolge, den lastname.

SELECT lastname FROM employee WHERE lastname LIKE '%a';

Ausgabe:

Durchsuchen Sie Zeilen, um Teilzeichenfolgen in MySQL zu finden - finden Sie Nachnamen, die mit einem Verwendungsplatzhalter enden

Szenario 3: Lassen Sie uns die Namen der Städte finden, die mit L beginnen, mit n enden und vier Zeichen dazwischen haben. Ein Unterstrich (_) steht für ein Zeichen.

SELECT city FROM employee WHERE city LIKE 'L____n';

Ausgabe:

Durchsuchen Sie Zeilen, um Teilzeichenfolgen in MySQL zu finden - Finden Sie die Stadt. Betrachten Sie das Start-End-Zeichen mit n unter Verwendung von Platzhaltern

Sie können mehr über Wildcard-Zeichen lernen hier.

Methode 2: Finden Sie einen String/Substring mit der Funktion LOCATE()

Die LOCATE-Funktion gibt das erste Vorkommen des Teilstrings in einem String zurück. Es gibt 0 zurück, wenn keine Teilzeichenfolge in der ursprünglichen Zeichenfolge gefunden werden kann.

Diese Funktion führt eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durch, was bedeutet, dass HELLO und hello für die Funktion LOCATE identisch sind. Es wird mit der folgenden Syntax verwendet.

LOCATE(substring, string, start)

In der oben angegebenen Syntax sind die ersten beiden Parameter namens substring und string erforderlich, aber der dritte Parameter namens start ist optional.

Sie haben vielleicht eine Frage, wie die Ausgabe aussehen wird? Lassen Sie uns anhand des folgenden Bildes verstehen.

Durchsuchen Sie Zeilen, um Teilzeichenfolgen in MySQL zu finden - Verstehen Sie die Lokalisierungsfunktion

SELECT LOCATE("hotmail", email) FROM employee;

Ausgabe:

Durchsuchen Sie Zeilen, um Teilzeichenfolgen in MySQL zu finden - Suchen Sie nach Hotmail

Schlussfolgerungen

Wir kamen zu dem Schluss, dass unterschiedliche Datenbankplattformen unterschiedliche Methoden unterstützen. LOCATE() und Platzhalter sind mit MySQL kompatibel.

Anhand von Beispielen haben wir MySQL-unterstützte Möglichkeiten kennengelernt, einen String oder Teilstring zu durchsuchen. Und beobachten Sie die Ausgabe, um zu verstehen.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Verwandter Artikel - MySQL String