PHP模糊查询的实现方法(推荐)


Posted in PHP onSeptember 06, 2016

模式查询

1. SQL匹配模式

2. 正则表达式匹配模式(一般不推荐使用)

SQL匹配模式

1.使用sql匹配模式,不能使用操作符=或!=,而是使用操作符LIKE或NOT LIKE;

2.使用sql匹配模式,MYSQL提供了2种通配符。

%表示任意数量的任意字符(其中包括0个)

_表示任意单个字符

3.使用sql匹配模式,如果匹配格式中不包含以上2种通配符中的任意一个,其查询的效果等同于=或!=

4.使用sql匹配模式,匹配时,不区分大小写

#查询用户名以某个字符开头的用户
#查询用户名以字符'l'开头的用户: l%
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名以某个字符结尾的用户
#查询用户名以字符'e'结尾的用户:e%
SELECT * FROM user WHERE username LIKE 'e%';
#查询用户名包含某个字符的用户
#查询用户名包含字符'o'的用户:%o%
SELECT * FROM user WHERE username LIKE '%o%';
#查询包含三个字符的用户
SELECT * FROM user WHERE username LIKE '___';
#查询用户名第二个字符为o的用户:_o%
SELECT * FROM user WHERE username LIKE '_o%';

正则表达式匹配模式

通配符(正则表达式)

.匹配任意的单个字符

*匹配0个或多个在它前面的字符

x*表示匹配任何数量的x字符

    [..]匹配中括号中的任意字符
    [abc]匹配字符ab或c
    [a-z]匹配任意字母
    [0-9]匹配任意数字
    [0-9]*匹配任意数量的任何数字
    [a-z]*匹配任何数量的字母

^表示以某个字符或字符串开始
  
    ^a 表示以字母a开头

$表示以某个字符或字符串结尾
  
    s$表示以字母s结尾

使用正则表达式匹配模式使用的操作符是:

REGEXP 或 NOT REGEXP(RLIKE 或 NOT RLIKE)

注意:正则表达式匹配模式,其正则表达式出现在匹配字段的任意位置,

其模式就算匹配了,不必在两侧放一个通配符来使得其匹配;

如果仅用通配符 . 来匹配,假设N个,那么其匹配模式表示,大于等于N个;

怎么理解上面这句话呢?

就是说

...   匹配大于等于3个字符的数据
....  匹配大于等于4个字符的数据
#查询用户名以字符 l开头的用户:^l;
#正则表达式写法

SELECT * FROM user WHERE username REGEXP '^l';
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE 'l%';
#查询用户名正好是三个字符的用户:^...$;
#sql匹配模式写法:
SELECT * FROM user WHERE username LIKE '___';
#正则表达式写法
SELECT * FROM user WHERE username REGEXP '^...$';

以上这篇PHP模糊查询的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
多数据表共用一个页的新闻发布
Oct 09 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
基于PHP array数组的教程详解
Jun 05 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
laravel中命名路由的使用方法
Feb 24 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
Jul 01 PHP
浅谈PHP中的数据传输CURL
Sep 06 #PHP
PHP实现页面静态化的超简单方法
Sep 06 #PHP
基于PHP实现短信验证码接口(容联运通讯)
Sep 06 #PHP
PHP7 新特性详细介绍
Sep 06 #PHP
PHP会员找回密码功能的简单实现
Sep 05 #PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 #PHP
浅谈mysql_query()函数的返回值问题
Sep 05 #PHP
You might like
php中var_export与var_dump的区别分析
2010/08/21 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
PHP中的Memcache详解
2014/04/05 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
python实现绘制树枝简单示例
2014/07/24 Python
web.py中调用文件夹内模板的方法
2014/08/26 Python
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
tensorflow识别自己手写数字
2018/03/14 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
python如何实现递归转非递归
2021/02/25 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
linux面试相关问题
2013/04/28 面试题
机电一体化职业规划书
2014/01/07 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
保护动物的宣传语
2015/07/13 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
高中优秀作文(范文)
2019/08/15 职场文书