Secuencias de escape en MySQL

Mehvish Ashiq 30 enero 2023
  1. Definición de secuencia de escape
  2. Secuencias de escape en MySQL
  3. Secuencia de escape con carácter comodín en MySQL
  4. Conclusiones
Secuencias de escape en MySQL

En este artículo, aprenderemos sobre las secuencias de escape. Veremos su definición con ejemplos y código de muestra.

También exploraremos cómo usarlo con caracteres comodín para encontrar patrones en los datos.

Definición de secuencia de escape

Los caracteres de secuencia de escape son caracteres no imprimibles que especifican una interpretación alternativa del siguiente carácter que es la secuencia de caracteres de escape.

Comienza desde la barra invertida (representada como *\\*) y tiene dos o más caracteres. Por ejemplo, \n muestra una nueva línea donde barra invertida es un carácter y n es el segundo.

La lista de secuencias de escape y su representación se proporciona a continuación.

Secuencia de escape Representación de personajes
\n Carácter de nueva línea
\0 Carácter NULO
\b Carácter de retroceso
\r Carácter de retorno de carro
\t Carácter de tabulación
\\ barra invertida
\% Carácter de porcentaje
\a Alerta
\f Avance de formulario (página nueva)
\v Pestaña vertical
\' Comillas simples
\" Comillas dobles
\? Signo de interrogación

Mientras escribe el programa de aplicación, hay algunas situaciones en las que debe manipular la cadena. Esta cadena debe escaparse correctamente antes de guardarla en la base de datos.

Aquí usamos secuencias de escape. Por ejemplo, si desea INSERT un registro en la tabla customer donde nombre_cliente es Nyy'a, debe utilizar una secuencia de escape.

Nota: Usamos dos tablas llamadas customer y order para el código de muestra de este tutorial. Estas tablas se ven de la siguiente manera con los datos actuales.

Tabla de clientes:

secuencias de escape en mysql - tabla de clientes

Tabla de pedidos:

secuencias de escape en mysql - tabla de pedidos

Código de ejemplo:

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

Producción:

secuencias de escape en mysql - ejemplo

Secuencias de escape en MySQL

Hay diferentes secuencias de escape que se utilizan en MySQL. Vea los siguientes ejemplos para entender.

Código de ejemplo de nueva línea:

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

Producción :

Hi!
Welcome to the learning Escape Sequences.

Código de ejemplo de carácter de retorno de carro:

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

Producción :

Hello
How are you

Código de ejemplo de signo de interrogación:

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

Producción :

Is this a question mark example?

Código de ejemplo de comillas:

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

Producción:

secuencias de escape en mysql - ejemplo de comillas dobles

Secuencia de escape con carácter comodín en MySQL

Los caracteres comodín se utilizan para obtener el patrón deseado de los datos y sustituir una o más cadenas.

Se usa con el operador LIKE, y el operador LIKE se usa en la cláusula WHERE. El uso de una secuencia de escape con un comodín facilita el trabajo para obtener un patrón determinado.

Código de ejemplo:

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

En este código, buscamos el customer_firstname de la tabla customer donde tenemos tres caracteres antes de una comilla simple y un carácter después. Se utiliza un guión bajo (_) para un carácter.

En ___\'_', tenemos tres guiones bajos para obtener tres caracteres, luego una comilla simple y luego un carácter al final. Consulte el siguiente resultado para comparar.

Producción:

secuencias de escape en mysql - comilla simple con comodín

¿Qué sucede si está buscando un determinado patrón en una columna? Practiquemos usando la tabla de orden. Encontraremos todas las fechas de pedido del campo order_date que contiene el patrón como -12.

Aquí % muestra uno o más caracteres. Significa uno o más caracteres antes del patrón requerido y uno o más en el siguiente código de ejemplo.

Código de ejemplo:

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

Producción:

secuencias de escape en mysql - encuentra el patrón parte a

Para entender el ejemplo de las comillas dobles con caracteres comodines, INSERT un nuevo registro en la tabla customer.

Código de ejemplo:

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

Producción:

secuencias de escape en mysql - encontrar patrón parte b

Utilice el siguiente comando para encontrar el customer_firstname y el customer_lastname de la tabla customer que cumpla con el siguiente patrón.

Código de ejemplo:

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

Producción:

secuencias de escape en mysql - encontrar patrón parte c

Conclusiones

Este artículo concluyó que las secuencias de escape no son imprimibles y especifican una representación alternativa en el siguiente carácter.

Las cadenas deben escaparse antes de guardarse en la base de datos. También aprendimos que los caracteres de escape se usan con caracteres comodín para encontrar diferentes patrones.

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