zoukankan      html  css  js  c++  java
  • 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)。

  • 相关阅读:
    DIY 作品 及 维修 不定时更新
    置顶,博客中所有源码 github
    openwrt PandoraBox PBR-M1 极路由4 HC5962 更新固件
    使用 squid 共享 虚拟专用网至局域网
    第一次参加日语能力测试 N5
    libx264 libfdk_aac 编码 解码 详解
    开发RTSP 直播软件 H264 AAC 编码 live555 ffmpeg
    MFC Camera 摄像头预览 拍照
    http2 技术整理 nginx 搭建 http2 wireshark 抓包分析 server push 服务端推送
    plist 图集 php 批量提取 PS 一个个切
  • 原文地址:https://www.cnblogs.com/xiami2046/p/12775121.html
Copyright © 2011-2022 走看看