Escape-Sequenzen in MySQL

Mehvish Ashiq 15 Februar 2024
  1. Definition der Escape-Sequenz
  2. Escape-Sequenzen in MySQL
  3. Escape Sequence mit Platzhalterzeichen in MySQL
  4. Schlussfolgerungen
Escape-Sequenzen in MySQL

In diesem Artikel werden wir etwas über Escape-Sequenzen lernen. Wir werden seine Definition mit Beispielen und Beispielcode sehen.

Wir werden auch untersuchen, wie man es mit Platzhalterzeichen verwendet, um Muster in den Daten zu finden.

Definition der Escape-Sequenz

Escape-Sequenzzeichen sind nicht druckbare Zeichen, die eine alternative Interpretation des folgenden Zeichens angeben, ist die Escape-Zeichenfolge.

Es beginnt mit dem backslash (dargestellt als *\\*) und besteht aus zwei oder mehr Zeichen. Zum Beispiel zeigt \n eine neue Zeile, wobei backslash ein Zeichen ist und n das zweite.

Die Liste der Escape-Sequenzen und ihre Darstellung ist unten angegeben.

Fluchtabfolge Zeichendarstellung
\n Zeichen für neue Zeile
\0 NULL-Zeichen
\b Backspace-Zeichen
\r Wagenrücklaufzeichen
\t Tabulatorzeichen
\\ Backslash
\% Prozentzeichen
\a Alarm
\f Formular-Feed (Neue Seite)
\v Vertikaler Tab
\' Einfaches Anführungszeichen
\" Doppeltes Anführungszeichen
\? Fragezeichen

Beim Schreiben des Anwendungsprogramms gibt es Situationen, in denen Sie Zeichenketten bearbeiten müssen. Dieser String muss korrekt maskiert werden, bevor er in der Datenbank gespeichert wird.

Hier verwenden wir Escape-Sequenzen. Wenn Sie beispielsweise einen Datensatz in die Tabelle Kunde``EINFÜGEN möchten, bei dem Kunde_Vorname``Nyy'a ist, müssen Sie eine Escape-Sequenz verwenden.

Hinweis: Wir verwenden zwei Tabellen namens customer und order für den Beispielcode für dieses Tutorial. Diese Tabellen sehen mit den aktuellen Daten wie folgt aus.

Kundentabelle:

Escape-Sequenzen in mysql - Kundentabelle

Bestelltabelle:

Escape-Sequenzen in mysql - Bestelltabelle

Beispielcode:

INSERT INTO customer(customer_firstname, customer_lastname, customer_age, customer_salary)
VALUES
('Nyy\'a', 'Daniel', 19, 10000);

Ausgabe:

Escape-Sequenzen in MySQL - Beispiel

Escape-Sequenzen in MySQL

Es gibt verschiedene Escape-Sequenzen, die in MySQL verwendet werden. Sehen Sie sich zum Verständnis die folgenden Beispiele an.

Beispielcode für neue Zeile:

SELECT 'Hi!\nWelcome to the learning Escape Sequences.'

Ausgabe:

Hi!
Welcome to the learning Escape Sequences.

Beispielcode für Wagenrücklaufzeichen:

SET @strInput = 'Hello,How are you';
SET @strResult = REPLACE(@strInput, ',', CHAR(10)); #CHAR(10) represents \r
SELECT @strResult;

Ausgabe:

Hello
How are you

Fragezeichen-Beispielcode:

SELECT 'Is this a question mark example\?';

Ausgabe:

Is this a question mark example?

Beispielcode für Anführungszeichen:

SELECT 'firstname', 'first\'name', '"firstname"',"firstname", '\"firstname\"','firstname\?';

Ausgabe:

Escape-Sequenzen in MySQL - Beispiel mit doppelten Anführungszeichen

Escape Sequence mit Platzhalterzeichen in MySQL

Platzhalter-Zeichen werden verwendet, um das gewünschte Muster aus den Daten zu erhalten und eine oder mehrere Zeichenketten zu ersetzen.

Es wird mit dem Operator LIKE verwendet, und der Operator LIKE wird in der Klausel WHERE verwendet. Die Verwendung einer Escape-Sequenz mit einem Platzhalter macht es einfach, ein bestimmtes Muster zu erhalten.

Beispielcode:

SELECT customer_firstname from customer where customer_firstname like '___\'_';

In diesem Code suchen wir nach dem customer_firstname aus der customer-Tabelle, wo wir drei Zeichen vor einem einfachen Anführungszeichen und ein Zeichen danach haben. Für ein Zeichen wird ein Unterstrich (_) verwendet.

In ___\'_' haben wir drei Unterstriche, um drei Zeichen zu erhalten, dann ein einfaches Anführungszeichen und dann ein Zeichen am Ende. Sehen Sie sich zum Vergleich die folgende Ausgabe an.

Ausgabe:

Escape-Sequenzen in MySQL - einfaches Anführungszeichen mit Platzhalter

Was ist, wenn Sie nach einem bestimmten Muster in einer Spalte suchen? Üben wir es anhand der Tabelle Bestellung. Wir finden alle Bestelldaten aus dem Feld order_date, das das Muster als -12 enthält.

Hier zeigt % ein oder mehrere Zeichen. Es bedeutet ein oder mehrere Zeichen vor dem erforderlichen Muster und ein oder mehrere im folgenden Beispielcode.

Beispielcode:

SELECT order_date from order where order_date like '%\-12%';

Ausgabe:

Escape-Sequenzen in MySQL - Muster finden Teil a

Um das Beispiel doppelter Anführungszeichen mit Wildcard-Zeichen zu verstehen, INSERT einen neuen Eintrag in der Kunde-Tabelle.

Beispielcode:

INSERT INTO customer(customer_firstname, customer_lastname, customer_age, customer_salary)
VALUES
('\"Nyy\'a\"', 'Dan\'iel', 19, 10000);

Ausgabe:

Escape-Sequenzen in MySQL - Muster finden Teil b

Verwenden Sie den folgenden Befehl, um customer_firstname und customer_lastname aus der customer-Tabelle zu finden, die dem folgenden Muster entspricht.

Beispielcode:

SELECT customer_firstname, customer_lastname from customer 
where customer_firstname like '%\"%\'%\"'
AND customer_lastname like'%\'___';

Ausgabe:

Escape-Sequenzen in MySQL - Muster finden Teil c

Schlussfolgerungen

Dieser Artikel kam zu dem Schluss, dass Escape-Sequenzen nicht druckbar sind, die eine alternative Darstellung für das folgende Zeichen angeben.

Die Zeichenketten müssen maskiert werden, bevor sie in der Datenbank gespeichert werden. Wir haben auch gelernt, dass die Escape-Zeichen mit Platzhalterzeichen verwendet werden, um verschiedene Muster zu finden.

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