`
Luob.
  • 浏览: 1573233 次
  • 来自: 上海
社区版块
存档分类
最新评论

MySql 替换like 查询

阅读更多
MySQL比like语句更高效的写法
locate
position
instr
find_in_set

标签: locate instr find_in_set	分类: MySQL
你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种。

LIKE语句
SELECT `column` FROM `table` where `condition` like `%keyword%'

事实上,可以使用 locate(position) 和 instr 这两个函数来代替

一、LOCATE语句
SELECT `column` from `table` where locate(‘keyword’, `condition`)>0

二、或是 locate 的別名 position
POSITION语句
SELECT `column` from `table` where position(‘keyword’ IN `condition`)

三、INSTR语句
SELECT `column` from `table` where instr(`condition`, ‘keyword’ )>0

locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个起始位置的参数外,两者是一样的。
mysql> SELECT LOCATE(‘bar’, ‘foobarbar’,5);

-> 7

速度上这三个比用 like 稍快了一点。



~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~

四、还要给大家介绍一个新成员,那就是find_in_set

find_in_set(str1,str2) 函数:返回str2中str1所在的位置索引,其中str2必须以","分割开。

表:
mysql> select * from region; 
+----+-------------+ 
| id | name        | 
+----+-------------+ 
| 1  | name1,nam2  | 
| 2  | name1       | 
| 3  | name3       | 
| 4  | name2,name4 | 
| 5  | name3,name5 | 
+----+-------------+ 
5 rows in set (0.00 sec)

FIND_IN_SET语句
mysql> select * from test where find_in_set('name1',name); 
+----+------------+ 
| id | name       | 
+----+------------+ 
| 1  | name1,nam2 | 
| 2  | name1      | 
+----+------------+ 
2 rows in set (0.02 sec)

五、当然,还有mysql的全文索引

全文索引:http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html
分享到:
评论

相关推荐

    mysql查询字符串替换语句小结(数据库字符串替换)

    将ubk_vhost_list表中的字段userid中的字符10005替换成10010 UPDATE `table_name` SET `field_name` = replace (`field_name`,’from_str’,’to_str’) WHERE `field_name` LIKE ‘%from_str%’ 说明: table_name ...

    MySQL替换函数replace()替换指定字段中的所有字符子串为其他字符串

    在开发过程中,我们可能会遇到这样的业务需求,需要将MySQL数据库中某字段值中的指定字符串全部替换为其他字符串。 例如: 现在需要将images字段中的leyou替换为younong,如果手动去替换,可想而知工作量会有多大,...

    MySQL数据的过滤和排序,使用Python语言和MySQL连接库示例代码

    在实际使用时,你需要将your_username和your_password替换为你的MySQL数据库的用户名和密码,将mydatabase替换为你的数据库名称。 查询名为users的表中名字中包含"Doe"的用户数据,并按照名字的升序进行排序。使用...

    MySQL GROUP_CONCAT限制解决方案

    作用:  GROUP_CONCAT函数可以拼接某个字段值成字符串,默认的分隔符是 逗号,即...SHOW VARIABLES LIKE 'group_concat_max_len' 操作方法:(如图) 调整长度设置方法: (1)在MySQL配置文件中加入:  文件:my.ini

    mysql中GROUP_CONCAT的使用方法实例分析

    本文实例讲述了mysql中GROUP_CONCAT的使用方法。分享给大家供大家参考,具体如下: 现在有三个表,结构如下: cate表: CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `...

    MYSQL替换时间(年月日)字段时分秒不变实例解析

    写法1: update sas_order_supply_month_pay set RECEIVE_TIME=REPLACE(RECEIVE_TIME,DATE_...and CREATE_TIME like ' 17-07-12%')) where ORDER_CODE='PO201707130115'; 写法2: update sas_order_supply_month

    UniDac.5.2.7〖最新版本支持D7~XE5〗

    We have combined the experience of long-term successful development into one product, which provides unified access to the popular database servers like Oracle, Microsoft SQL Server, MySQL, InterBase...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例127 将数组中指定索引位置的元素替换 157 实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例130 字符串与数组的转换 159 实例131 对数组元素进行随机排序 160 实例132 随机抽取数组中...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例127 将数组中指定索引位置的元素替换 157 实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例130 字符串与数组的转换 159 实例131 对数组元素进行随机排序 160 实例132 随机抽取数组中...

    UniDac.5.0.2〖最新版本支持D7~XE5〗

    We have combined the experience of long-term successful development into one product, which provides unified access to the popular database servers like Oracle, Microsoft SQL Server, MySQL, InterBase...

    SqlServer类似正则表达式的字符处理问题

    SQL Serve提供了简单的字符模糊匹配功能,比如:like, patindex,不过对于某些字符处理场景还显得并不足够,日常碰到的几个问题有: 1. 同一个字符/字符串,出现了多少次 2. 同一个字符,第N次出现的位置 3. 多个...

    jdbc操作文档,数据库基本操作文档集合

    11.模糊查询 like %:0个或多个任意字符 _:1个任意字符 select 字段名 from 表名 where 要判断的字段 like '%字符%'; 12.null的处理 select 字段名 from 表名 where 要判断的字段名 is null(is not null); 13....

    sqlfmt:格式化Go代码SQL

    仅支持MySQL SQL语句。 安装 go get -u github.com/sgswtky/sqlfmt 用法 替换档案 如果同时满足以下两个条件,则对SQL进行格式化。 变量名“ sql” 如果'// sqlfmt'在该变量之前一行注释 请注意,格式化后所有...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。  SQL语言主要包含5个部分  数据定义...

    PHP开发实战1200例源码

    实例127 将数组中指定索引位置的元素替换 157 实例128 获取数组中最后一个元素 158 实例129 去除数组中的重复元素 158 实例130 字符串与数组的转换 159 实例131 对数组元素进行随机排序 160 实例132 随机抽取数组中...

    PHP3程序设计

    9.4.1 LIKE 151 9.4.2 RLIKE 152 9.5 总结 152 第10章 面向对象 154 10.1 了解类的知识 154 10.1.1 继承 155 10.1.2 抽象 155 10.1.3 多态 156 10.1.4 封装 157 10.2 对象和PHP 157 10.2.1 使用命名参数 158 10.2.2 ...

    .htaccess

    <br>You can use custom error pages for any error as long as you know its number (like 404 for page not found) by adding the following to your .htaccess file: 你所知道的任何页面错误代码(像404找...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码...

Global site tag (gtag.js) - Google Analytics