迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

MySQL 中的转义序列

作者:迹忆客 最近更新:2024/03/26 浏览次数:

在本文中,我们将了解转义序列。我们将通过示例和示例代码查看它的定义。

我们还将探讨如何将其与通配符一起使用以查找数据中的模式。


转义序列的定义

转义序列字符是不可打印的字符,它指定以下字符的替代解释是转义字符序列。

它从反斜杠开始(表示为*\\*)并有两个或多个字符。例如,\n 显示一个新行,其中 反斜杠 是一个字符,而 n 是第二个字符。

下面给出了转义序列及其表示的列表。

转义序列 字符表示
\n 换行符
\0 空字符
\b 退格字符
\r 回车符
\t 制表符
\\ 反斜杠
\% 百分比字符
\a 警报
\f 换页(新页面)
\v 垂直标签
\' 单引号
" 双引号
\? 问号

在编写应用程序时,在某些情况下你必须操作字符串。在将其保存到数据库之前,必须正确转义此字符串。

这里我们使用转义序列。例如,如果你想在 customer_firstnameNyy'acustomer 表中 INSERT 记录,你必须使用 escape sequence

客户表:

订单表:

示例代码:

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

输出:


MySQL 中的转义序列

MySQL 中使用了不同的转义序列。请参阅以下示例以了解。

新行示例代码:

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

输出:

Hi!
Welcome to the learning Escape Sequences.

回车字符示例代码:

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

输出:

Hello
How are you

问号示例代码:

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

输出:

Is this a question mark example?

引号示例代码:

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

输出:


MySQL 中带有通配符的转义序列

通配符字符用于从数据中获取所需的模式并替换一个或多个字符串。

它与 LIKE 运算符一起使用,LIKE 运算符用于 WHERE 子句。使用带有通配符的转义序列可以轻松获得特定模式。

示例代码:

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

在这段代码中,我们从 customer 表中查找 customer_firstname,其中单引号前有三个字符,单引号后有一个字符。一个下划线 (_) 用于一个字符。

___\'_'中,我们用三个下划线来获得三个字符,然后是一个单引号,最后是一个字符。请参阅以下输出进行比较。

输出:

如果你要在列中寻找某种模式怎么办?让我们使用 order 表来练习它。我们将从包含 -12 模式的 order_date 字段中找到所有订单日期。

这里 % 显示一个或多个字符。它表示所需模式之前的一个或多个字符以及以下示例代码中的一个或多个字符。

示例代码:

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

输出:

要理解带有 wild card characters 的双引号示例,INSERT``customer 表中的新记录。

示例代码:

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

输出:

使用以下命令从符合以下模式的 customer 表中查找 customer_firstnamecustomer_lastname

示例代码:

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

输出:


结论

本文得出结论,转义序列是不可打印的,它在以下字符上指定替代表示。

在保存到数据库之前,必须对字符串进行转义。我们还了解到转义字符与通配符一起使用以查找不同的模式。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 MySQL 中声明和使用变量

发布时间:2024/03/26 浏览次数:102 分类:MySQL

当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。

在 MySQL 中实现刷新权限

发布时间:2024/03/26 浏览次数:179 分类:MySQL

本教程介绍了 MySQL 中的刷新权限命令,用于刷新授权表并影响允许的更改。

在 MySQL 中设置时区

发布时间:2024/03/26 浏览次数:86 分类:MySQL

在本教程中,我们将学习如何在 MySQL 服务器中更改时区。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便