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 相关文章推荐
在线竞拍系统的PHP实现框架(二)
Oct 09 PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
PHP中的integer类型使用分析
Jul 27 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
PHP排序算法的复习和总结
Feb 15 PHP
PHP中source #N问题的解决方法
Jan 27 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
PHP可变变量学习小结
Nov 29 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 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 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
php解析xml方法实例详解
2015/05/12 PHP
Javascript Select操作大集合
2009/05/26 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
Python装饰器用法示例小结
2018/02/11 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
详解python中的装饰器
2018/07/10 Python
Python Cookie 读取和保存方法
2018/12/28 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
CSS3 简写animation
2012/05/10 HTML / CSS
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
师范生自我鉴定范文
2013/10/05 职场文书
班组长安全生产职责
2013/12/16 职场文书
天猫活动策划方案
2014/08/21 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
预备党员转正材料
2014/12/19 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
初中军训感想
2015/08/07 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
学校运动会开幕词
2016/03/03 职场文书
详解python字符串驻留技术
2021/05/21 Python
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL