Einführung in Wildcard-Zeichen

Ein Platzhalterzeichen ist ein Zeichen oder eine Gruppe von Zeichen, die in einer bestimmten Zeichenfolge gesucht und ersetzt werden können. Platzhalterzeichen werden bei MySQL-Abfragen mit dem LIKE-Operator verwendet. Dieser LIKE-Operator wird in der where-Klausel der MySQL-Abfrage verwendet. Mit der where-Klausel können wir nach einem bestimmten Muster für eine bestimmte Tabellenspalte suchen.

Beispiel:

% wildcard wird verwendet, um% ab zu liken. Es werden alle ab in einem bestimmten Datensatz (Datensätzen) gefunden, die die Ausgabe wie etwa, über, Überfluss, Absorbens usw. erzeugen.

Warum benutzen wir WildCards?

Wie Sie mit MySQL vertraut sind, gibt es verschiedene Abfragen wie INSERT, UPDATE, SELECT, DELETE usw. Da Platzhalter die Aufgabe haben, ein bestimmtes Muster zu durchsuchen, wird die SELECT-Anweisung zusammen mit der WHERE-Klausel in das Bild aufgenommen und nicht in andere MySQL-Abfragen. Um die Suche mit Platzhaltern zu vereinfachen, schauen wir uns ein einfaches Beispiel für Künstler und seine Gemälde an. Sagen wir, es gibt verschiedene Gemälde von verschiedenen Künstlern, die in verschiedenen Regionen der Welt zu unterschiedlichen Preisen erhältlich sind. Lassen Sie den Datenbanknamen Ihrer Wahl sein und sagen Sie "search_artist"

Der Tabellenname ist der Künstler

Hier erstellen Sie eine Abfrage, um die Tabelle 'artist' zu erstellen.

CREATE TABLE `artist` (
`artist_id` int(11) NOT NULL,
`artist_name` varchar(255) NOT NULL,
`artist_painting` varchar(255) NOT NULL,
`artist_country_name` varchar(255) NOT NULL,
`artist_country_code` varchar(255) NOT NULL,
`artist_painting_price` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Nachdem die Tabelle erstellt wurde, fügen wir die Daten in die Tabelle ein

Dump-Daten für die Tabelle `artist`

INSERT INTO `artist` (`artist_id`, `artist_name`, `artist_painting`, `artist_country_name`, `artist_country_code`, `artist_painting_price`) VALUES
(1, 'Leonardo Da Vinci', 'Mona Lisa', 'Angola', 'AO', '$500'),
(2, 'Edvard Munch', 'The Scream', 'Bahrain', 'BH', '$600'),
(3, 'Sistine Chapel by Michelangelo', 'The Creation of Adam', 'Bangladesh', 'BD', '$700'),
(4, 'Vincent Van Gogh', 'Sun Flowers', 'Malaysia', 'MY', '$550'),
(5, 'Rene Magritte', 'Ceci N'est pas une Pipe', 'Madagascar', 'MG', '$850'),
(6, 'Edvard Munch', 'The Scream', 'Portugal', 'PT', '$750'),
(7, 'Leonardo Da Vinci', 'Mona Lisa', 'Poland', 'PL', '$500'),
(8, 'Claude Monet', 'Poppies in a Field', 'Vietnam', 'VN', '$650');

Sobald Sie die obige Abfrage ausgeführt haben, wird die folgende Tabelle erstellt

Der Prozentanteil

Beispiel eins: Jetzt wollen wir wissen, welcher Künstler sein Gemälde in den Ländern hat, in denen der Ländername mit "BA" beginnt.

Die SEARCH-Abfrage geht so

SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”

Ausführen der obigen Abfrage in MySQL

Ausgabe der Abfrage

Beispiel 2: Hier möchten wir wissen, welcher Künstler sein Gemälde in den Ländern hat, in denen "al" enthalten ist.

Die Lösung ist

SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”

Ausführen der obigen Abfrage in MySQL

Ausgabe der Abfrage

In den beiden obigen Beispielen haben wir einen einzelnen Platzhalter, der '%' ist.

Jetzt werden wir nach verwandten Platzhaltern suchen, wie dem _ Platzhalter (dem Unterstrich - Platzhalter), dem Escape - Schlüsselwort, dem NOT LIKE - Schlüsselwort usw

Schauen wir uns den zweiten Platzhalter an, bei dem es sich um einen Unterstrich handelt

_ Wildcard unterstreichen

Beispiel 1: Dies wird auch mit der SELECT-Anweisung zusammen mit der where-Klausel verwendet, in der _ für ein beliebiges einzelnes Zeichen steht, das alles Mögliche sein kann

Die Lösung ist
SELECT * FROM artist WHERE `artist_painting_price` LIKE '$5_0'
The result is painting price names with this pattern will give output as
$500, $550, $500 in the painting price column

Ausführen der obigen Abfrage in MySQL

Ausgabe der Abfrage

Beispiel zwei:

Die Lösung ist
SELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'

Ausführen der obigen Abfrage in MySQL

Ausgabe der obigen Abfrage

Vor dem Eintauchen in den dritten Platzhalter sehen wir die Kombination der beiden obigen Platzhalter, die Kombination der Platzhalter '_' und '%'

Wildcard-Kombination Bedeutung
WO artist_painiting WIE 'Mo%'Gibt alle Werte zurück, die mit "Mo" beginnen
WO artist_country_name LIKE '% n'Gibt alle Werte zurück, die mit "n" enden
WHERE artist_country_name LIKE '% da%'Gibt alle Werte zurück, die an einer beliebigen Position ein "da" haben
WO artist_country_name LIKE '_o%'Gibt alle Werte zurück, bei denen an der zweiten Stelle ein "o" steht
WO artist_name LIKE 'L% i'Gibt alle Werte zurück, die mit "L" beginnen und mit "i" enden.

Schauen wir uns den dritten Platzhalter an, der NICHT LIKE ist

NICHT WIE Wildcard

Dieser NOT LIKE-Operator wird wie andere mit der where-Klausel der select-Anweisung sowie dem Unterstrich und dem prozentualen Platzhalter verwendet. Es werden die Zeilen aus der Tabelle zurückgegeben, in denen das angegebene Muster nicht übereinstimmt.

Beispiel Eins: Wir wollen nicht die Aufzeichnungen, bei denen das Künstlergemälde den Preis von 600 und 650 US-Dollar hat

Die Lösung ist :

SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'

Ausführen der obigen Abfrage in MySQL mit Ausgabe

Der vierte Platzhalter ist (Zeichenliste) bei REGEXP

Beispiel eins: Wir wollen die Datensätze, die alle Zeichen enthalten, die mit dem Muster in der Klammer übereinstimmen.

Die Lösung ist :
SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'

Hier führt der artist_country_name, der die Gruppe von Zeichen wie po enthält, zu zwei Datensätzen, die nur Portugal und Polen enthalten.

Ausführen der obigen Abfrage in MySQL mit Ausgabe

Der fünfte Platzhalter ist NOT mit dem Schlüsselwort REGEXP

Beispiel: Wir wollen die Datensätze, die alle Zeichen mit Ausnahme der Zeichen enthalten, die in der Klammer vorhanden sind.

Die Lösung ist :

SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'

Ausführen der obigen Abfrage in MySQL mit Ausgabe

Das sechste Escape-Schlüsselwort für Platzhalter

Beispiel 1: In diesem Beispiel ist der Name des Künstlers die Eingabe, die in einer Tabelle mit einem Escape-Schlüsselwort nach einem bestimmten Muster durchsucht wird. Das folgende Beispiel wird dies verdeutlichen.

Die Lösung ist :

SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'

Ausführen der obigen Abfrage in MySQL mit Ausgabe

Die siebte Wildcard '|' Schlüsselwort, um eine Suche basierend auf bestimmten Alphabeten durchzuführen.

Beispiel 2: Wir wollen die Datensätze, deren Vornamen mit dem Zeichen L oder S beginnen

Die Lösung ist :

SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'

Ausführen der obigen Abfrage in MySQL mit Ausgabe

Fazit - Wildcard-Zeichen

Mit diesem Thema haben Sie hoffentlich% und _ Platzhalter mit Beispielen gelernt. Außerdem lernst du NOT LIKE Operator, die Suchabfrage mit dem Escape-Schlüsselwort, die (Zeichenliste) und andere. All dies wurde durch Ausführen einer SELECT-Abfrage mit einer where-Klausel in der Tabelle "artist" verdeutlicht. Hoffentlich wurde jedes Thema leichter zu verstehen und zu erfassen.

Empfohlene Artikel

Dies war eine Anleitung zu Platzhalterzeichen. Hier haben wir besprochen, was Platzhalterzeichen sind, wie Platzhalterzeichen verwendet werden und wie eine Tabelle erstellt wird usw. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. Platzhalter in SQL
  2. Filter in Tableau
  3. Verwendung von SQL
  4. T-SQL-Zeichenfolgenfunktionen
  5. Regex-Funktionen in Python (Beispiel)