MYSQL 模糊查询
模糊查询(LIKE)
如果你失忆了,希望你能想起曾经为了追求梦想的你。
QQ群:651080565(php/web 学习课堂)
模糊查询,常用在“搜索”,在这个平台,我想找到一篇文章,但是数据太多了,找不到,但只要你还记得他标题的一部分,就可以使用模糊查询来找到他。
在使用模糊(LIKE)查询之前,我们先普及一个知识:通配符!
引用:http://www.w3school.com.cn/sql/sql_wildcards.asp
可以这么理解:通配符就是搭配LIKE的,是模糊查询的辅助一样
数据表:
演示:SELECT * FROM cs_user WHERE username LIKE "张%"
图解:
通配符:“%” 意思是 “替代一个或多个字符”。效果也和很明显,我搜索“张%”,只要开头(第一个)是“张”的,就会全部搜索出来。
通配符:“_” 意思是 “替代一个字符,只是一个”:SELECT * FROM cs_user WHERE username LIKE "张_"
图解:
我们搜索“张”,后面跟了一个 “_” ,他就只会给出数据 “张加一个字符”。
搜索我们用到更多的,是这样的:
SELECT * FROM cs_user WHERE username LIKE "%2%"
图解:
这里面用通配符,是可以多个使用的,你可以 "张__" 也可以 “____张”...更多更多!
说说我们这个:SELECT * FROM cs_user WHERE username LIKE "%2%"
之前说了,“%”的意思是,替代一个或多个字符,我们在前面用一个,在后面用一个,这样只要我们能记住你要搜索的文章,大致标题,就可以搜索出来的。
但这也并非完美,比如,你要搜索的文章标题是:
你就是太会给自己找理由了!
而你只记得:“你理由”。 如果你输入这三个字的话,会得不到 “你就是太会给自己找理由了!”这边文章的结果。因为,我们给出的条件是“%你理由%”,程序就只会去找,包含了“你理由”并且自动拼接前面的字符和后面的字符,而他是把“你理由”三个字靠在一起的,但我们搜索的原本标题,这三个字并非是靠在一起的。所以是得不出结果的