mysql like查询语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql like查询语句相关的知识,希望对你有一定的参考价值。
怎样 select * form table where name like '%%1a%%',注意是1
a,实际查询中1a没有被当做字符串来处理,当成了十六进制。
有个问题,1a是在php里传送来的,比如$ww='1a'; select * form table where name like '%%$ww%%',会出问题,希望解答!
2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 参考技术A
搜索以字母 1a 开头的所有字符串。
mysql常见的子查询语句:
1、使用in的子查询:
形式:where 字段 in
含义:这里,列子查询可能是“多个值”,虽然查询的输出结果是“一列”的,但我们要理解是“多个值的列表”,其相当于:where 字段 in (值1,值2,....);比如: where age in (18, 28, 38); 表示age为其中任意一个就可以。
2、使用any的子查询:
形式:where 字段 比较运算符 any
含义:表示,该字段的值,对该列子查询所查询出来的多个值,有一个满足该比较运算符,就算满足了。
3、使用some的子查询:
形式:where 字段 比较运算符 some (列子查询)
含义:同any。即some是any的同义词。
4、使用all的子查询:
形式:where 字段 比较运算符 all (列子查询)
含义:表示,该字段的值,要对该列子查询的所有结果数据,全都满足该运算符,才算符合条件。
5、使用exists的子查询:
形式:where exists ( 任何子查询 )
含义:该子查询如果“有数据结果”, 则该exists()的结果为“true”。该子查询如果“没有数据结果”,则该exists()的结果为“false”。
where tel like '137%' 查以137 开头的
where tel like '%137'查以137 结尾头的
where tel like '%137%' 只要包含137的都查出来 参考技术C select * from table where name like '%1a%' 这样就可以了 参考技术D 没问题呀,检查你的表结构设置吧。我试过了 可以的
mysql查询语句中like 的用法
1、常见用法:
(1)搭配%使用
%代表一个或多个字符的通配符,譬如查询字段name中以大开头的数据:
(2)搭配_使用
_代表仅仅一个字符的通配符,把上面那条查询语句中的%改为_,会发现只能查询出一条数据。
2、使用like模糊查询会导致索引失效,在数据量大的时候会有性能问题
(1)尽量少以%或者_开头进行模糊查询
通过explain执行计划,我们发现,使用like模糊查询时,如果不以%和_开头查询的话,索引还是有效e68a84e799bee5baa6e997aee7ad9431333366306434的。
(2)使用覆盖索引
当查询的的条件和查询的结果都是索引中的字段的时候,这个索引我们可以称之为覆盖索引,这个时候,使用like模糊查询索引是有效的。
InnoDB中主键可以不添加进索引中
注意:使用覆盖索引,对于字段的长度是由要求限制的,一般超过长度,索引也会失效
这里如果查询中带有descripition字段,则覆盖索引也会失效。
扩展资料
like语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
一、% 包含零个或多个字符的任意字符串:
1、like‘Mc%‘ 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、like‘%inger‘ 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、like‘%en%‘ 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
二、:_(下划线) 任何单个字符:
like‘_heryl‘ 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
三、[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:
1,like‘[CK]ars[eo]n‘ 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、like‘[M-Z]inger‘ 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
以上是关于mysql like查询语句的主要内容,如果未能解决你的问题,请参考以下文章