-- ==============正则查询================
/*
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. dhtmlx3.6 grid列头合并

    mygrid.setHeader("序号,操作人员,发药,#cspan,审核,#cspan,数量小计,金额小计");mygrid.attachHeader(["#rspa ...

  2. NOIP 2014 提高组 Day2

    期望得分:100+60+30=190 实际得分:70+60+30=160 https://www.luogu.org/problem/lists?name=&orderitem=pid& ...

  3. Zepto学习笔记

    Zepto和jQuery的很多API都很一致,思路也很相似,我不会全都整理出来,只是把一些平时用到了的或者不同的地方需要注意一下的地方总结出来.另外,Zepto现在还不是很成熟,无论是对大小写的敏感还 ...

  4. java学习笔记记录

    Java内存模型: Java虚拟机规范中将Java运行时数据分为六种. 1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址.Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间 ...

  5. linux平台 PHP 实现 word转pdf的艰难历程...

    1.网上搜索资料 无非是 openoffice + PHP的com组件 然而试了很多次 都不可靠 2.后来找到 openoffice + jodconverter(需java环境) 一.安装openo ...

  6. 【洛谷P2676】超级书架

    题目描述 Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了.现在,只有书架的顶上还留有一点空间. 所有N(1 <= N & ...

  7. 大数mod的技巧

    1.mod 3 将各个位上的数字相加对3求余. 2.mod 11 设这个数为abcdefghijklmnopqrst. ans=(t-s+r-q+p-o+n-m+l-k+j-i(以此类推))mod 1 ...

  8. 【译】第一篇 SQL Server代理概述

    本篇文章是SQL Server代理系列的第一篇,详细内容请参考原文. SQL Server代理是SQL Server的作业调度和告警服务,如果使用得当,它可以大大简化DBA的工作量.SQL Serve ...

  9. JS设计模式——2.初识接口

    什么是接口 接口提供了一种用以说明一个对象应该具有哪些方法的手段. 接口之利 1.接口具有自我描述性从而促进代码的重用 2.接口有助于稳定不同中的类之间的通信方式 3.测试和调试也变得更轻松 接口之弊 ...

  10. BurpSuite 设置Hostname Resolution

    #写在前面 这种情况你可能遇到过: 对方用了CDN, 你查到了对方真实IP, 但还不能100%肯定. 这时候, 最好的测试就是 win/linux修改HOST文件 Win重启电脑 Linux重启网络 ...