Secuencias de escape en MySQL
- Definición de secuencia de escape
- Secuencias de escape en MySQL
-
Secuencia de escape
con carácter comodín en MySQL - Conclusiones
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:
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
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:
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:
¿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:
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:
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:
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.