MySQL中ESCAPE关键字的用法详解

  • MySQL中ESCAPE关键字的用法详解
    • 1. mysql转义概述
    • 2. escape验证

MySQL中ESCAPE关键字的用法详解

1. mysql转义概述

转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。

MySQL中,转义字符以“\”开头,编程中常见的转义字符,在MySQL均是有效的,在此不做赘述和讨论。在此,主要通过“%” 和 “_”来对ESCAPE关键字的作用进行说明。

%:匹配任意多个字符。

_:匹配单一字符。

2. escape验证

-- MySQL中ESCAPE关键字的用法详解-- MySQL中,转义字符以“\”开头,编程中常见的转义字符,在MySQL均是有效的,在此不做赘述和讨论。在此,主要通过“%” 和 “_”来对ESCAPE关键字的作用进行说明。
-- %:匹配任意多个字符。
-- _:匹配单一字符。CREATE TABLE `escape_test` (`id` BIGINT(20) NOT NULL AUTO_INCREMENT,`name` VARCHAR(255) DEFAULT NULL,`uid` VARCHAR(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;-- 查询表
SELECT * FROM escape_test;
-- 删除表
DROP TABLE escape_test;
-- 删除数据
DELETE FROM escape_test;-- 插入数据
INSERT INTO escape_test (NAME,uid) VALUES('张三','hello');
INSERT INTO escape_test (NAME,uid) VALUES('李四_五','world');
INSERT INTO escape_test (NAME,uid) VALUES('王五%','world');
INSERT INTO escape_test (NAME,uid) VALUES('%a','world');
INSERT INTO escape_test (NAME,uid) VALUES('%_','world');### 查询名字中带明字的用户
SELECT * FROM escape_test WHERE NAME LIKE CONCAT("%", "三", "%")-- 如果我们要匹配“%”或者“_”时,就必须使用“\”进行转义,如下:### 查询名字带有%字符的用户
-- % 转义前,%全查
SELECT * FROM escape_test WHERE NAME LIKE CONCAT("%", "%", "%");
-- % 转义后 只匹配含有%的
SELECT * FROM escape_test WHERE NAME LIKE CONCAT("%", "\%", "%");-- ESCAPE的用法
-- ESCAPE 关键字的主要作用就是指定一个字符替代“\”的作用。
### 查询名字带有“%”字符的用户
SELECT * FROM escape_test WHERE NAME LIKE CONCAT("%", "\%", "%");
SELECT * FROM escape_test WHERE NAME LIKE CONCAT("%", "$%", "%") ESCAPE "$";### 查询名字带有“_”字符的用户
SELECT * FROM escape_test WHERE NAME LIKE CONCAT("%", "\_", "%");
SELECT * FROM escape_test WHERE NAME LIKE CONCAT("%", "a_", "%") ESCAPE "a";### 假设存在名字为 %a 和 %_ 两个的用户
SELECT * FROM escape_test WHERE NAME LIKE "a%_" ESCAPE "a" ;    ### %a %_
SELECT * FROM escape_test WHERE NAME LIKE "a%a" ESCAPE "a" ;    ### %a
SELECT * FROM escape_test WHERE NAME LIKE "a%a_" ESCAPE "a" ;   ### %_

MySQL中ESCAPE关键字的用法详解相关推荐

  1. mysql escape关键字_MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"\" ...

  2. escape mysql_MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"" ...

  3. MySQL中ESCAPE关键字的用法

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"\" ...

  4. 给mysql 授权 命令_mysql中授权命令grant用法详解:

    mysql中授权命令grant用法详解: mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: gra ...

  5. android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private vo ...

  6. php中this的使用技巧,JavaScript中this关键字使用方法详解

    JavaScript中this关键字使用方法详解 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了 ...

  7. Python实用技巧:global关键字的用法详解

    这篇文章主要介绍了python global关键字的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下: 想要更好的了解global关键字,首先 ...

  8. csh for循环_shell中的for循环用法详解_linux shell

    这篇文章主要介绍了shell中的for循环用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 for 命令: for i i ...

  9. conv2d的输入_pytorch1.0中torch.nn.Conv2d用法详解

    Conv2d的简单使用 torch 包 nn 中 Conv2d 的用法与 tensorflow 中类似,但不完全一样. 在 torch 中,Conv2d 有几个基本的参数,分别是 in_channel ...

最新文章

  1. java 复制excel jxl_java中使用jxl的jar包处理excel的复制,更新等问题。
  2. 重新精读《Java 编程思想》系列之向上转型与向下转型
  3. 2015.08.15冒泡排序
  4. 危机时保路人还是保乘客?无人车伦理困境背后:谁来制定算法规则
  5. Bit-Z转入GXS、PPS、SPHTX、EOS未到账解决方案
  6. java - 建造者模式
  7. Cygwin用户改名、机器改名
  8. 毕设题目:Matlab元胞自动机生命游戏
  9. 不是计算机专业的,可以转行学IT吗?
  10. 2016《A survey of transfer learning》迁移学习笔记
  11. 一文看懂推荐系统:排序11:Deep Cross Network(DCN)
  12. Unity Profiler
  13. 总结-控制台(Console)程序和Windows程序的区别
  14. java代码实现排序二叉树
  15. 如何用python实现地图数据可视化
  16. 转载 在windows下系统硬盘安装Fedora20
  17. Elmedia Player - Mac 上最好用的音视屏媒体播放器
  18. 基于SSM的演唱会网上订票系统
  19. beam整合flink
  20. java jssc_麒麟linux + java + JSSC 串口通信

热门文章

  1. word文档中的水印怎样去除?这三个方法教大家快速搞定!
  2. Tensorflow2.3用SaveModel保存训练模型.pb等文件+opencvino转IR文件
  3. DVR/NVR解决方案
  4. matlab fscanf
  5. 【DB2】DB2错误号汇总
  6. python文本保存
  7. 基础:CSS3选择器详解
  8. 如何在Debian 9上安装和使用Docker
  9. STM32F103RC
  10. usleep java_usleep是否创建了线程取消点?