$sql="select * from table_name where field_name like '%$var%'";
$result=mysql_query($sql) or die;
MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式
模式匹配的格式。
SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。
在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不
能使用=或!=;而使用LIKE或NOT LIKE比较操作符。
为了找出以“b”开头的名字:
mysql> SELECT * FROM pet WHERE name LIKE "b%";
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
为了找出以“fy”结尾的名字:
mysql> SELECT * FROM pet WHERE name LIKE "%fy";
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+
为了找出包含一个“w”的名字:
mysql> SELECT * FROM pet WHERE name LIKE "%w%";
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+
为了找出包含正好5个字符的名字,使用“_”模式字符:
mysql> SELECT * FROM pet WHERE name LIKE "_____";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
由MySQL提供的模式匹配的其他类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用
REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
扩展正则表达式的一些字符是:
“.”匹配任何单个的字符。
一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。
为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任
何数字。
“ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”
匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。
正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,
“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的
结尾用“$”。
为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写:
为了找出以“b”开头的名字,使用“^”匹配名字的开始并且“[bB]”匹配小写或大写的“b”:
mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:
mysql> SELECT * FROM pet WHERE name REGEXP "fy$";
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+
为了找出包含一个“w”的名字,使用“[wW]”匹配小写或大写的“w”:
mysql> SELECT * FROM pet WHERE name REGEXP "[wW]";
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+
既然如果一个正规表达式出现在值的任何地方,其模式匹配了,就不必再先前的查询中在模式的两
方面放置一个通配符以使得它匹配整个值,就像如果你使用了一个SQL模式那样。
为了找出包含正好5个字符的名字,使用“^”和“$”匹配名字的开始和结尾,和5个“.”实例在
两者之间:
mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
你也可以使用“{n}”“重复n次”操作符重写先前的查询:
mysql> SELECT * FROM pet WHERE name REGEXP "^.{5}$";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
查找数字和其他的模糊查询语句
Select * from pet where name REGEXP "[^a-zA-Z].";
分享到:
相关推荐
MySQL模糊查询语法 MySQL模糊查询语法 MySQL模糊查询语法
MySQL模糊查询语法[文].pdf
MySQL中约束保存在information_schema数据库的table_constraints中,可以通过该表查询约束信息; 约束主要完成对数据的检验,保证数据库数据的完整性;如果有相互依赖数据,保证该数据不被删除。 常用五类约束: ...
Solr 5.3.1搜索引擎搭建详细教程(包括集成mysql、添加中文分词、添加同义词、查询语法等)
(3)模糊查询 like 像 LIKE关键字可以匹配字符串是否相等。如果字段的值与指定的字符串相匹配,则满足查询条件,该纪录将被查询出来。如果与指定的字符串不匹配,则不满足查询条件。其语法规则如下:[ NOT ] LIKE ...
SQL模糊查询语句 一般模糊语句语法如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1、%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请...
15_MySQL语法规范介绍 16_图形化用户界面客户端的安装 17_图形化用户界面客户端的介绍 18_myemployees库的四张表介绍 19_基础查询介绍 20_查询表中的字段 21_查询时的细节注意补充 22_查询常量、表达式、函数 23_起...
本文实例讲述了MySQL查询条件常见用法。分享给大家供大家参考,具体如下: 条件 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中 语法如下: select * from 表名 where 条件; 例: select * from ...
包含下列主题:mysql 日志文件,使用mysqld 加相应选项...SQL 语法备份及恢复。拷贝数据文件备份(对Innodb 还需拷贝日志文件)。MyISAM 表的检查与修复(另见《MySql 存储引擎》)。Innodb 表的碎片整理和模糊检查点。
19-作业讲解与模糊查询 20-外连接查询 21-数据库表设计一 22-数据库表设计二 23-视图 24-数据库建模一(PowerDesigner) 25-数据库建模二与事务 26-开启事务、回滚与提交事务 27-脏读 28-不可重复读 29-存储过程基本...
SELECT语法d的内容介绍,学习 掌握MySQL删除数据 掌握MySQL查询语句 掌握模糊查询 理解连接查询原理 掌握内连接查询 掌握左外连接查询 理解自连接
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。 两者具体的语法如下: CAST(value as type); CONVERT(value, type); 就是CAST(xxx AS 类型), CONVERT(xxx,类型)。 可以转换的类型...
C、模糊查寻 Like %表示任意多个字符 _表示一个任意字符 D、范围查询 In 表示在一个非连续的范围内 Between.......and.............表示在一个连续的范围内 需求:查询编号是8,10,12的数据 实例:select * from ...
MongoDB的基本常用语法:1、创建、查询数据库 创建数据库 查询数据库 2、创建集合、查看 创建集合插入数据 查看集合 查看集合中的数据 3、删除集合、删除数据库 删除集合 删除数据库 4、操作符 4、增、删、改、查 1...
宿舍管理员管理:可以分页显示显示、添加、删除、修改、查找(按名字模糊查询、按性别查询)、排序宿舍管理员信息 3. 学生管理:可以分页显示显示、添加、删除、修改、查找(按名字模糊查询、按性别查询)、排序...
1、项目名称:Vision在线电影网站 2、项目描述: 基于Python语法和Django框架的在线电影播放...②模糊查询 ③播放页弹幕 ④后台管理 5、详细描述:https://blog.csdn.net/weixin_43846708/article/details/113941859
目前只模糊的定义了3种修复模式,分别是SQL语法错误、MyISAM表损坏以及中继日志的损坏,除此之外,其他一切错误都是通过sql_slave_skip_counter来完成,简单且粗暴,对数据的一致性造成成吨伤害。 1.3、业界同行对主...
十分钟学会使用 Elasticsearch 优雅搭建自己的搜索系统。 什么是elasticsearch ...如果使用MySQL的%key%的模糊匹配来与es的搜索进行比较,在8万数据量时他们的耗时已经达到40:1左右,毫无疑问在速度方面es完胜。
切换至“查询分析”页签, 您可以按CTRL+J快捷键列出选择项 (默认,可在“选项”中进行更改), <br>或直接输入语法, 系统会根据当前输入的字符进行智能搜索, 如果有搜索到模糊匹配项,则自动弹出...