-- ==============正则查询================
/*
SQL默认是忽略大小写的
正则模式使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。正则即字段值包含正则的内容即可
. 匹配任何单个的字符,表示任意单字符
[...] 匹配包含方括号内某单个字符的字符串,[0-9]匹配0到9之间的某个数字
* 匹配零个或多个在它前面的字符
{n} 匹配n个在它前面的字符 如果希望大小写都匹配上可以这样写。[aA] 匹配大小写的 a,[a-zA-Z] 则匹配大小写的任何 a-z 单个字母。
但默认是不区分大小写的 [b] 也可匹配上还有 B 的字符串
要匹配的字符在字段起始处,使用 ^ ,在字段的结尾用 $
如果是中文字符,可能在使用时需要注意一下。 */
-- 字段name只有四个值,name_aA ,name_aB , name_人人 ,name_%好好_ SELECT * FROM `test_t` WHERE NAME REGEXP '[a-z]'; -- 包含a到z某个字符的字符串,能匹配到 name_aA 和 name_aB 和 name_人人 和 name_%好好_ SELECT * FROM `test_t` WHERE NAME REGEXP '^n.....b$'; -- 以n开头B结尾,7个字符长度的字符串,能匹配到 name_aB SELECT * FROM `test_t` WHERE NAME RLIKE 'd*'; -- 包含0个或多个d的字符串,能匹配到该字段的所有值,因为 * 前的字符0个也匹配 SELECT * FROM `test_t` WHERE NAME RLIKE 'B{1}$'; -- 结尾是一个B,能匹配到name_aB -- ==============模糊查询================
-- MySql的like语句中的通配符:百分号、下划线和escape -- % 表示任意个或多个任意字符。可匹配任意类型和长度的字符。 SELECT * FROM `test_t` WHERE NAME LIKE '%me_aB'; -- 查询结果 name_aB -- 如果需要找出 name 中既有 b 又有 a 的记录,使用 and 条件
SELECT * FROM `test_t` WHERE NAME LIKE '%b%' AND NAME LIKE '%a%';
-- 若使用 SELECT * FROM `test_t` WHERE NAME LIKE '%b%a%'; 则找不到 name_aB -- _ 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句(可以代表一个中文字符) SELECT * FROM `test_t` WHERE NAME LIKE '_______'; -- 能查询到 name_aA 和 name_aB 还有 name_人人 这7个字符长度的值 -- 如果要查字符 % 或者 _ 使用 ESCAPE,转义字符后面的 % 或 _ 就不作为通配符了,注意前面没有转义字符的%和_仍然起通配符作用
SELECT * FROM `test_t` WHERE NAME LIKE 'name_/%%好/_' ESCAPE '/'; -- 查询结果 name_%好好_

mysql正则查询 模糊查询的更多相关文章

  1. mysql中的模糊查询

    转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...

  2. PHP MYSQL登陆和模糊查询

    PHP MYSQL登陆和模糊查询   PHP版本 5.5.12    MYSQL版本 5.6.17  Apache 2.4.9 用的wampserver 一.PHPMYSQL实现登陆:  一共含有两个 ...

  3. MySQL中的模糊查询和通配符转义

    MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...

  4. MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果

    注:MySQL中的模糊查询 like 和 Oracle中的 instr() 函数有同样的查询效果: 如下所示: MySQL: select * from tableName where name li ...

  5. 使用mybatis从mysql里进行模糊查询的编码问题

    关于这个问题,记录下我的解决方法,希望对有同样困惑的朋友,有所帮助. 问题描述: 我在做mybatis从mysql里模糊查询时,如果模糊的关键词是字母的话,可以查出来.如果模糊的关键词是汉字的话,查不 ...

  6. mysql进阶(六)模糊查询的四种用法介绍

    mysql中模糊查询的四种用法介绍 这篇文章主要介绍了mysql中模糊查询的四种用法,需要的朋友可以参考下. 下面介绍mysql中模糊查询的四种用法: 1 %: 表示任意0个或多个字符.可匹配任意类型 ...

  7. python中的mysql数据库like模糊查询

    %在python中是个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符. 大家知道,mysql的模糊查询也需要用到%. 所以,可以先把需要查的字符串抽出来,再以参数方式传入. args = ...

  8. mysql通配符进行模糊查询

    在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符. 首先我们来了解一下2个概念,一个是操作符,一个是通配符. 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后 ...

  9. elasticsearch 7.x 如何满足mysql中的模糊查询功能(like)

    业务场景:筛选项原功能是用mysql左模糊进行过滤查询,现业务要用es,怎么样才能满足原功能,又不损性能. elasticsearch中有关于模糊查询的操作:wildcard 文档:https://b ...

随机推荐

  1. fastjson的@JSONField注解的一点问题

    @JSONField 看源码它可以作用于字段和方法上. 引用网上说的, 一.作用Field @JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称. 但是 ...

  2. 2017国庆 清北学堂 北京综合强化班 Day1

    期望得分:60+ +0=60+ 实际得分:30+56+0=86 时间规划极端不合理,T2忘了叉积计算,用解析几何算,还有的情况很难处理,浪费太多时间,最后gg 导致T3只剩50分钟,20分钟写完代码, ...

  3. gym100712 ACM Amman Collegiate Programming Contest

    非常水的手速赛,大部分题都是没有算法的.巨慢手速,老年思维.2个小时的时候看了下榜,和正常人差了3题(,最后还没写完跑去吃饭了.. A 水 Sort 比大小 /** @Date : 2017-09-0 ...

  4. 课程设计——利用信号量实现哲学家进餐问题(JAVA)

    package cn.Douzi.PhiEat; /** * 表示筷子的类 */ public class Chopstick{ /** * 表示筷子是否可用 */ private volatile ...

  5. C++类四个默认函数&深复制&浅复制

    学习C++语言的同学都知道,C++中类是有默认的几个函数的,主要是有四个函数: 四个函数 默认构造函数:A(void),无参构造函数 拷贝(复制)构造函数:A(const A&a).用一个对象 ...

  6. CSS基础复习

    重新撸一遍CSS的基础,因为以前面试的时候被问到,突然发现某些概念搞不清楚,瞬间懵逼了,其实我都知道的,就是因为不会炒概念,导致面试官觉得我很low,你特么连这个都不知道还敢来面试,回家种田去好嘛! ...

  7. asp.net后台代码动态添加JS文件和css文件的引用

    首先添加命名空间 using System.Web.UI.HtmlControls; 代码动态添加css文件的引用 HtmlGenericControl myCss = new HtmlGeneric ...

  8. css3同心圆闪烁扩散效果

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  9. 从ZoomEye API 到 Weblogic 弱口令扫描

    参考资料: ZoomEye API: https://www.zoomeye.org/api/doc Weblogic-Weakpassword-Scnner: https://github.com/ ...

  10. JSON.parse()——json字符串转JS

    JSON 通常用于与服务端交换数据. 在接收服务器数据时一般是字符串. 我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象. 语法 JSON.parse(text[, ...