原文:mysql模糊查询like/REGEXP

增删改查是mysql最基本的功能,而其中查是最频繁的操作,模糊查找是查询中非常常见的操作,于是模糊查找成了必修课。

like模式

like意思是长得像,有两个模式:_和%

_表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意“王”后面有两个_

select name from 表名 where name like '王__';

%表示0个或多个任意字符,如查出所有姓王的人名

select name from 表名 where name like '王%';

查出所有包含“华”字的人名

select name from 表名 where name like '%华%';

正则模式

^,匹配字符串开始位置,还是上面的例子,查询所有姓王的人名

select name from 表名 where name regexp '^王';

$,匹配字符串结束位置,如查询所有姓名末尾是“明”的人名

select name from 表名 where name regexp '明$';

.,匹配除\n之外的任意单个字符,类似于_,就不写sql语句了

[……],匹配[]中包含的任何一个字符,abcdef……xyz可以简写为[a-z],0123456789简写成[0-9],如查询出w/z/s开头的的人名

select name from 表名 where name regexp '^[wzs]';

[^……],匹配不包含在[]的字符,如查询出除了w/z/s开头之外的人名

select name from 表名 where name regexp '^[^wzs]';

a|b|c,匹配a或b或c,如将绩效为A-或A或A+的员工查出来,假设绩效列名performance

select performance from 表名 where performance regexp 'A-|A|A+';

*,重复0次或多次,熟悉javascript正则的同学都知道

'str*'可以匹配st/str/strr/strrr……

?,重复0次或1次

'str?'可以匹配st/str

+,重复1次或多次

'str+'可以匹配str/strr/strrr/strrrr……

相比javascript里面的正则而言,这里的正则是简化版的,没有惰性匹配/贪婪匹配,[]内不支持\w\s\d这种语法,也不支持中文,相对简单。

需要注意的一点是:这两种模式不要混着用,like模式是不支持正则表达式的,REGEXP模式也不认识_和%

最后顺便说一句,科比昨天退役了,虽然我是林丹球迷,但是科比和林丹打的每一场球我都记得,再见科比,再见青春!

mysql模糊查询like/REGEXP的更多相关文章

  1. MySQL模糊查询:LIKE模式和REGEXP模式

    MySQL模糊查询提供了两种模式:LIKE模式和REGEXP模式. LIKE模式 LIKE模式是使用的LIKE 或 NOT LIKE 比较运算符进行模糊查询. SELECT 字段 FROM 表 WHE ...

  2. mysql模糊查询 like/REGEXP

    原文:mysql模糊查询like/REGEXP 增删改查是mysql最基本的功能,而其中查是最频繁的操作,模糊查找是查询中非常常见的操作,于是模糊查找成了必修课. like模式 like意思是长得像, ...

  3. Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办--转自http://www.jb51.net/article/88236.htm

    这篇文章主要介绍了Mybatis使用MySQL模糊查询时输入中文检索不到结果的解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下   项目开发中,在做Mybatis动态查询时,遇到了 ...

  4. mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword

    mysql: 模糊查询 feild like '%keyword%' or feild like'% keyword%' , 或者 concat(feild1,feild2,feild3) like ...

  5. MySQL模糊查询

    第一种最土的方法:使用like语句第二种用全文索引 有两种方法,第一种最土的方法:使用like语句第二种听涛哥说用全文索引,就在网上搜一下: 如何在MySQL中获得更好的全文搜索结果 mysql针对这 ...

  6. MYSQL 模糊查询

    下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...

  7. 关于Mysql模糊查询的优化-全文检索和Like的使用

    表A:CREATE TABLE `tableA` (`id` int(11) NOT NULL auto_increment,`content` varchar(256) default NULL,P ...

  8. mysql模糊查询1,11,111用逗号(其他符号)拼接的相似字符串

    mysql进行模糊查询时,基本都是LIKE "%sss%",有时候这种查询时准确的,但是有种情况这种查询会出现很大问题. 看一下下面这张表 如果想查询字段test包含1的数据,一般 ...

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

    sql中经常用like进行模糊查询,而模糊查询就要用到百分号“%”,下划线“_”这些通配符,其中“%”匹配任意多个字符,“_”匹配单个字符.如果我们想要模糊查询带有通配符的字符串,如“60%”,“us ...

随机推荐

  1. com.ibatis.sqlmap.client.SqlMapException: There is already a statement named search in this SqlMap.

    Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeExcep ...

  2. springboot注解

    @RestController和@RequestMapping注解 我们的Example类上使用的第一个注解是 @RestController .这被称为一个构造型(stereotype)注解.它为阅 ...

  3. 【每日scrum】NO.3

    1.感觉需求分析没有想象的那么简单,今天由于某些原因没有完成.

  4. Careercup - Google面试题 - 5724823657381888

    2014-05-06 06:37 题目链接 原题: Given an array of (unsorted) integers, arrange them such that a < b > ...

  5. Java 7 中 NIO.2 的使用——第一节 Path 类的使用

    路径隶属于文件系统,实际上它是存储和组织媒体文件的格式,通常在一块或多块硬盘设备上,以便于非常容易地检索.文件系统可以通过  java.nio.file.FileSystems 这个final 类来访 ...

  6. php使用循环创建任意长度数组

    实例:生成长度为5的偶数集合 <?php /** * [crtArr description] * @param [int] $start [循环开始变量] * @param [int] $le ...

  7. cookie和session的代码实现

    cookie和session的代码实现 1.设置cookie 今天笔试题考的是cookie的设置,我竟然选了request也可以设置cookie,我的天呀. 我们来看如何在response设置吧 pu ...

  8. 剑指offer--面试题21

    题目:设计包含min函数的栈,pop(),push(),min()的时间复杂度均为O(1) 自己所写代码如下:(写‘栈’的代码还是有些不熟练!) #include <iostream> u ...

  9. magic_quotes_runtime 与 magic_quotes_gpc

    magic_quotes_runtime 与 magic_quotes_gpc 这两个函数都是管理是否对数据进行特殊符号转义,但是他们针对的处理对象不同: magic_quotes_gpc的设定值将会 ...

  10. Codeforces Round #248 (Div. 2)C 题

    题目:http://codeforces.com/contest/433/problem/C 没想到做法就各种纠结, 今天做的都快疯掉了, 太弱了, 等题解一出,就各种恍然大悟 不应该不应该 正文: ...