【mysql】转义字符反斜杠,正则表达式

1.mysql插入

1.1插入-反斜杠规则:

​ 在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert "\" 在数据库中最终只会存储"",第一个反斜杠(\)被当做转义字符处理。 ​

  1. 当字符串中有1个反斜杠,插入后算0个

  2. 当字符串中有2个反斜杠,插入后算1个

  3. 当字符串中有3个反斜杠,插入后算1个

  4. 当字符串中有4个反斜杠,插入后算2个

  5. 当字符串中有5个反斜杠,插入后算2个。

1.2插入案例:

sql 复制代码
INSERT INTO `t1`(`id`, `value`, `value_verify`) VALUES (2189, 11,  '^[1-9]\\d*$');

这里的插入正则的效果才是^1-9\d*$

2.1查询规则

普通查询(=)规则和插入(INSERT语句)一样

like查询二次转义。除了会在语法解析时转义一次外,还会在正则匹配时进行第二次的转义。因此如果期望最终匹配到"",就要反转义两次,也就是由"\\\\"到"\\"再到"\"。

2.2查询案例

sql 复制代码
mysql> SELECT id,value_verify from t1 where value_verify like '%\\\\%';

进行查询是like '%\%'

结果

+------+-----------------------+

| id | text |

+------+-----------------------+

| 2189 | ^1-9\d*$ |

| 2199 | ^1-9\d*$ |

+----+-----------------------+

相关推荐
吴声子夜歌5 小时前
正则表达式——字符组
正则表达式
天若有情6738 小时前
自制浏览器端文本批量处理小工具,支持查找替换、内容删除、正则表达式,开箱即用
正则表达式
吴声子夜歌13 小时前
正则表达式——简单的模式匹配
正则表达式
吴声子夜歌18 小时前
正则表达式——前后查找
正则表达式
吴声子夜歌19 小时前
正则表达式参考
正则表达式
吴声子夜歌2 天前
正则表达式——常见应用软件和编程语言中的正则表达式
正则表达式
吴声子夜歌2 天前
正则表达式——使用子表达式
正则表达式
吴声子夜歌3 天前
正则表达式——重复匹配
正则表达式
吴声子夜歌3 天前
正则表达式——匹配单个字符
正则表达式
吴声子夜歌3 天前
正则表达式——位置匹配
正则表达式