mysql中IFIND_IN_SET和like的区别
在数据库中新建一张测试表t_user,包含三个字段'id','name','grilfriend',字段很容易看出,这是记录一个人的女朋友的表,注意这里的‘firlfriend’字段可以是多个人名,之间用逗号分开,如‘杨幂01,杨幂02’;这样的数据存储我们也经常见到。
CREATE TABLE `t_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`girlfriend` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
插入几条测试数据
INSERT INTO `t_user` VALUES ('', '狗蛋', '林心如8,安以轩8,范冰冰8');
INSERT INTO `t_user` VALUES ('', '狗剩', '林心如88,杨幂8,杨颖8');
INSERT INTO `t_user` VALUES ('', '石头', '范冰冰88,杨颖88');
数据显示如下:

下面我想查询'grilfrind中'包含”杨颖8″是谁的女朋友:
like 查询:
SELECT * from t_user where girlfriend like '%杨颖8%'
aaarticlea/png;base64,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" alt="" />
FIND_IN_SET查询:
SELECT * from t_user where FIND_IN_SET('杨颖8',girlfriend)

下面我想查询'grilfrind中'包含”杨颖88″是谁的女朋友:
like 查询:
SELECT * from t_user where girlfriend like '%杨颖88%'
aaarticlea/png;base64,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" alt="" />
FIND_IN_SET查询:
SELECT * from t_user where FIND_IN_SET('杨颖88',girlfriend)

结论:like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。
附加:函数简介
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。 这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。
mysql中IFIND_IN_SET和like的区别的更多相关文章
- 用count(*)还是count(列名) || Mysql中的count()与sum()区别
Mysql中的count()与sum()区别 首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `su ...
- (转)MySQL中In与Exists的区别
背景:总结mysql相关的知识点. 如果A表有n条记录,那么exists查询就是将这n条记录逐条取出,然后判断n遍exists条件. select * from user where exists s ...
- MySQL中interactive_timeout和wait_timeout的区别【转】
在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ERROR 2013 (HY000): Lost connection to MySQL s ...
- Mysql中函数和存储过程的区别
Mysql中函数和存储过程的区别 存储过程: 1. 可以写sql语句 2. inout,out构造返回值 3. 调用:call:存储过程名称 4. 可以 ...
- mysql中in和exist的区别
mysql中in和exists的区别 -- in写法select * from A where A.id in (select bid from B ) and A.name in (select ...
- MySQL中 utf8与utf8mb4的区别
MySQL中 utf8与utf8mb4的区别 一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在 ...
- MySQL 中NULL和空值的区别
平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ...
- mysql中char与varchar的区别分析(补充一句,int和integer没区别)
转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
- MySQL 中NULL和空值的区别 (转载 http://blog.sina.com.cn/s/blog_3f2a82610102v4dn.html)
平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ...
随机推荐
- 边工作边刷题:70天一遍leetcode: day 1
(今日完成:Two Sum, Add Two Numbers, Longest Substring Without Repeating Characters, Median of Two Sorted ...
- NOIP2003加分二叉树[树 区间DP]
题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号.每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都 ...
- Beanstalk消息队列的实现
在工作中要用到消息队列,但是主管为了追求开发速度,让用了一个简易的类 beanstalk 下面来说明这个东西 参考博客:https://my.oschina.net/u/698121/blog/15 ...
- [No00000E]PPT快捷键大全 PowerPoint2013/2010/2007/2003常用快捷
熟练掌握PowerPoint快捷键可以让我们更快速的制作PPT模板,大大的节约时间成本.想提高工作效率吗?请熟悉PowerPoint快捷键吧!想成为高手吗?请先了解PPT快捷键吧!想制作出一个优秀的P ...
- 十种MySQL报错注入
1.floor() select * from test where id=1 and (select 1 from (select count(*),concat(user(),floor(rand ...
- Use Cursor
declare : CURSOR cursor_name IS select_statement ; open : OPEN cursor_name if the query returns no r ...
- html post和get的区别
一直以来,都对这两个概念有一个感性的认识,今天总结一下: 1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据. 2.Get将表单中数据的按照variable=value的形式,添加 ...
- IT教程网
这个IT教程网(印度),我认为是最好的.里面的知识基础实用,覆盖面很广,作为IT入门和了解都是极好的. http://www.tutorialspoint.com/
- C#/JS 获取二维数组组合
C#获取二维数组组合 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- Linux shell循环
条件测试 格式 test condition 或 [ condition ] 使用方括号时,要注意在条件两边加上空格,如果有操作符,运算符之间也必须有空格 测试状态:测试的结果可以用$?的值来判断,0 ...