MYSQL 模糊查询

模糊查询(LIKE)



  如果你失忆了,希望你能想起曾经为了追求梦想的你。
  QQ群:651080565(php/web 学习课堂)

模糊查询,常用在“搜索”,在这个平台,我想找到一篇文章,但是数据太多了,找不到,但只要你还记得他标题的一部分,就可以使用模糊查询来找到他。

在使用模糊(LIKE)查询之前,我们先普及一个知识:通配符!

引用:http://www.w3school.com.cn/sql/sql_wildcards.asp

MYSQL 模糊查询_第1张图片

可以这么理解:通配符就是搭配LIKE的,是模糊查询的辅助一样

数据表:

MYSQL 模糊查询_第2张图片

演示:SELECT * FROM cs_user WHERE username LIKE "张%"

图解:

MYSQL 模糊查询_第3张图片

通配符:“%” 意思是 “替代一个或多个字符”。效果也和很明显,我搜索“张%”,只要开头(第一个)是“张”的,就会全部搜索出来。

通配符:“_”  意思是 “替代一个字符,只是一个”:SELECT * FROM cs_user WHERE username LIKE "张_"

图解:

MYSQL 模糊查询_第4张图片

我们搜索“张”,后面跟了一个 “_” ,他就只会给出数据 “张加一个字符”。

搜索我们用到更多的,是这样的:
SELECT * FROM cs_user WHERE username LIKE "%2%"

图解:

MYSQL 模糊查询_第5张图片

这里面用通配符,是可以多个使用的,你可以 "张__" 也可以 “____张”...更多更多!

说说我们这个:SELECT * FROM cs_user WHERE username LIKE "%2%"

之前说了,“%”的意思是,替代一个或多个字符,我们在前面用一个,在后面用一个,这样只要我们能记住你要搜索的文章,大致标题,就可以搜索出来的。

但这也并非完美,比如,你要搜索的文章标题是:

你就是太会给自己找理由了!

而你只记得:“你理由”。 如果你输入这三个字的话,会得不到 “你就是太会给自己找理由了!”这边文章的结果。因为,我们给出的条件是“%你理由%”,程序就只会去找,包含了“你理由”并且自动拼接前面的字符和后面的字符,而他是把“你理由”三个字靠在一起的,但我们搜索的原本标题,这三个字并非是靠在一起的。所以是得不出结果的


你可能感兴趣的:(MYSQL)