服务热线 400-660-8066

昆明网站建设
首页 站内资讯

昆明网站建设

站内资讯
昆明网站建设 / 站内资讯 / 行业资讯 / 正文

Mysql查询Like模糊查询介绍

来源: AII文章
发布时间:2023-06-12 10:34:27

  一般模糊查询语句如下:

  SELECT字段FROM表WHERE某字段Like条件

  其中关于条件,SQL提供了四种匹配模式:

  1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

  比如SELECT*FROM[user]WHEREu_nameLIKE'%三%'

  将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

  另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件

  SELECT*FROM[user]WHEREu_nameLIKE'%三%'ANDu_nameLIKE'%猫%'

  若使用SELECT*FROM[user]WHEREu_nameLIKE'%三%猫%'

  虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

  2,_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:

  比如SELECT*FROM[user]WHEREu_nameLIKE'_三_'

  只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;

  再比如SELECT*FROM[user]WHEREu_nameLIKE'三__';

  只找出“三脚猫”这样name为三个字且第一个字是“三”的;

  3,[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

  比如SELECT*FROM[user]WHEREu_nameLIKE'[张李王]三'

  将找出“张三”、“李三”、“王三”(而不是“张李王三”);

  如[]内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”

  SELECT*FROM[user]WHEREu_nameLIKE'老[1-9]'

  将找出“老1”、“老2”、……、“老9”;

  4,[^]:表示不在括号所列之内的单个字符。其取值和[]相同,但它要求所匹配对象为指定字符以外的任一个字符。

  比如SELECT*FROM[user]WHEREu_nameLIKE'[^张李王]三'

  将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;

  SELECT*FROM[user]WHEREu_nameLIKE'老[^1-4]';

  将排除“老1”到“老4”,寻找“老5”、“老6”、……

  总结:MySQL的查询记录了所有MySQL数据库请求的信息。无论这些请求是否得到了正确的执行。默认文件名为hostname.log。默认情况下MySQL查询是关闭的。生产环境,如果开启MySQL查询,对性能还是有蛮大的影响的。另外很多时候,MySQL慢查询基本可以定位那些出现性能问题的SQL,所以MySQL查询应用的场景其实不多,有点鸡肋的感觉,它跟SQLServer中的profiler有点类似,但是这个不能某个会话、用户、客户端。它只能对整个数据库进行。

* 文章来源于网络,如有侵权,请联系客服删除处理。
在线 咨询

添加动力小姐姐微信

微信 咨询

电话咨询

400-660-8066

我们联系您

电话 咨询
微信扫码关注动力小姐姐 X
qr