Séquences d'échappement dans MySQL
- Définition de la séquence d’échappement
- Séquences d’échappement dans MySQL
- Séquence d’échappement avec caractère de remplacement dans MySQL
- conclusion
Dans cet article, nous allons en apprendre davantage sur les séquences d’échappement. Nous verrons sa définition avec des exemples et des exemples de code.
Nous explorerons également comment l’utiliser avec des caractères génériques pour trouver des modèles dans les données.
Définition de la séquence d’échappement
Les caractères de séquence d’échappement sont des caractères non imprimables qui spécifient une autre interprétation du caractère suivant comme séquence de caractères d’échappement.
Il commence par la barre oblique inverse (représentée par *\\*
) et comporte deux caractères ou plus. Par exemple, \n
affiche une nouvelle ligne où barre oblique inverse est un caractère et n
est le second.
La liste des séquences d’échappement et leur représentation sont données ci-dessous.
Séquence d’échappement | Représentation des personnages |
---|---|
\n |
Caractère de nouvelle ligne |
\0 |
Caractère NULL |
\b |
Caractère de retour arrière |
\r |
Caractère de retour chariot |
\t |
Caractère de tabulation |
\\ |
Barre oblique inverse |
\% |
Caractère de pourcentage |
\a |
Alerte |
\f |
Flux de formulaire (Nouvelle page) |
\v |
Onglet vertical |
\' |
Guillemet simple |
\" |
Guillemets doubles |
\? |
Point d’interrogation |
Lors de l’écriture du programme d’application, il existe certaines situations où vous devez manipuler la chaîne. Cette chaîne doit être correctement échappée avant d’être enregistrée dans la base de données
.
Ici, nous utilisons des séquences d’échappement. Par exemple, si vous voulez INSÉRER
un enregistrement dans la table customer
où le customer_firstname
est Nyy'a
, vous devez utiliser une séquence d’échappement.
Remarque : Nous utilisons deux tables nommées customer
et order
pour l’exemple de code de ce didacticiel. Ces tableaux se présentent comme suit avec les données actuelles.
Tableau client :
Tableau de commande :
Exemple de code :
INSERT INTO customer(customer_firstname, customer_lastname, customer_age, customer_salary)
VALUES
('Nyy\'a', 'Daniel', 19, 10000);
Production :
Séquences d’échappement dans MySQL
Il existe différentes séquences d’échappement utilisées dans MySQL. Voir les exemples suivants pour comprendre.
Code d’exemple de nouvelle ligne :
SELECT 'Hi!\nWelcome to the learning Escape Sequences.'
Production :
Hi!
Welcome to the learning Escape Sequences.
Code d’exemple de caractère de retour chariot :
SET @strInput = 'Hello,How are you';
SET @strResult = REPLACE(@strInput, ',', CHAR(10)); #CHAR(10) represents \r
SELECT @strResult;
Production :
Hello
How are you
Exemple de code de point d’interrogation :
SELECT 'Is this a question mark example\?';
Production :
Is this a question mark example?
Code d’exemple de guillemet :
SELECT 'firstname', 'first\'name', '"firstname"',"firstname", '\"firstname\"','firstname\?';
Production :
Séquence d’échappement avec caractère de remplacement dans MySQL
Les caractères Wild card sont utilisés pour obtenir le modèle souhaité à partir des données et remplacer une ou plusieurs chaînes.
Il est utilisé avec l’opérateur LIKE
et l’opérateur LIKE
est utilisé dans la clause WHERE
. L’utilisation d’une séquence d’échappement avec un caractère générique facilite l’obtention d’un certain modèle.
Exemple de code :
SELECT customer_firstname from customer where customer_firstname like '___\'_';
Dans ce code, nous recherchons le customer_firstname
de la table customer
où nous avons trois caractères avant un guillemet simple et un caractère après celui-ci. Un trait de soulignement (_
) est utilisé pour un caractère.
Dans ___\'_'
, nous avons trois traits de soulignement pour obtenir trois caractères, puis un guillemet simple, puis un caractère à la fin. Voir la sortie suivante pour comparer.
Production :
Que faire si vous recherchez un certain modèle dans une colonne ? Entraînons-nous en utilisant le tableau order
. Nous trouverons toutes les dates de commande à partir du champ order_date
qui contient le modèle -12
.
Ici %
affiche un ou plusieurs caractères. Cela signifie un ou plusieurs caractères avant le modèle requis et un ou plusieurs dans l’exemple de code suivant.
Exemple de code :
SELECT order_date from order where order_date like '%\-12%';
Production :
Pour comprendre l’exemple des guillemets doubles avec des caractères d’échappement, insérez un nouvel enregistrement dans la table customer
.
Exemple de code :
INSERT INTO customer(customer_firstname, customer_lastname, customer_age, customer_salary)
VALUES
('\"Nyy\'a\"', 'Dan\'iel', 19, 10000);
Production :
Utilisez la commande suivante pour trouver le customer_firstname
et le customer_lastname
dans la table customer
qui répond au modèle suivant.
Exemple de code :
SELECT customer_firstname, customer_lastname from customer
where customer_firstname like '%\"%\'%\"'
AND customer_lastname like'%\'___';
Production :
conclusion
Cet article a conclu que les séquences d’échappement ne sont pas imprimables et spécifient une représentation alternative sur le caractère suivant.
Les chaînes doivent être échappées avant d’être enregistrées dans la base de données. Nous avons également appris que les caractères d’échappement sont utilisés avec des caractères génériques pour trouver différents modèles.