本文作者:kris

python中的mysql数据库LIKE操作符详解-

kris 2025-01-17 16:18:06 3
python中的mysql数据库LIKE操作符详解-摘要: MySQL模糊查询like和ilike的区别?LIKE 和 ILIKE 操作符可以模糊匹配字符串,LIKE是一般用法,ILIKE匹配时则不区分字符串的大小写,~ 波浪号则可以使用正...

MySQL模糊查询like和ilike的区别?

LIKE 和 ILIKE 操作符可以模糊匹配字符串,LIKE是一般用法,ILIKE匹配时则不区分字符串的大小写,~ 波浪号则可以使用正则匹配。

LIKE和 ILIKE

它们需要结合通配符使用,下面介绍两种常用的通配符。

%:百分号用于匹配字符串序列,可匹配任意组合;

_:下划线用于匹配任何单一字符。

则可以使用正则模式来匹配字符串,除此之外它匹配模式还有一个特殊的地方

select * from table where ~ 'ab'; --> 如果是这样的形式就代表着他可以匹配任何包含ab的字符串其实就相当于省略的两边的 .*

python中的mysql数据库LIKE操作符详解-

图片来源:网络

如果想要做前缀匹配或后缀匹配,可以用下面的方法

1、前缀+模糊查询。

select * from table where ~ '^ab';

2、后缀+模糊查询。

select * from table where ~ 'ab$';

MySQL的REGEXP和like在匹配上的区别?

其中like要求整个数据都要匹配,而REGEXP只需要部分匹配即可。

也就是说,用Like,必须这个字段的所有内容满足条件,而REGEXP只需要有任何一个片段满足即可。

mysql like 索引失效?

索引查询失效的几个情况:

1、like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。

2、or语句前后没有同时使用索引。当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效。

3、组合索引,不是使用第一列索引,索引失效。

4、数据类型出现隐式转化。如varchar不加单引号的话可能会自动转换为int型,使索引无效,产生全表扫描。

5、在索引列上使用 IS NULL 或 IS NOT NULL操作。索引是不索引空值的,所以这样的操作不能使用索引,可以用其他的办法处理。

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/24415.html发布于 2025-01-17 16:18:06
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享