mysql模糊查询语句区分大小写
近期,一直在忙著寫一個小小的個人博客項目,在實現(xiàn) “全局搜索” 功能時,一直想讓 “全局搜索” 功能實現(xiàn)**“區(qū)分大小寫”**,方法介紹如下:
(在本小白的另外一篇博客中,介紹的比較詳細(xì),有興趣的可以看一下:mysql模糊查詢語句是否區(qū)分大小寫?)
方法一:
設(shè)置“COLLATE”屬性值為“utf8”,mysql采用utf8編碼格式,模糊查詢不區(qū)分大小寫
方法二:
在創(chuàng)建表的時候,指定表字段COLLATE 為“utf8_bin”,或者修改指定表字段COLLATE 為“utf8_bin”;即,單獨指定所需字段(比如,在此處 我所需要不區(qū)分大小寫的字段為表 ‘t_blog’ 中的 ‘title’ 字段)為 ‘utf8’ 編碼格式,COLLATE 為“utf8_bin”:
alter table t_blog CHANGE `title` `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL; alter table `t_blog` modify column `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL;(選擇其中一種修改方法既可)
方法三
修改字段為BINARY:
alter table t_blog CHANGE `title` `title` varchar(255) BINARY NULL DEFAULT NULL; alter table `t_blog` modify column `title` varchar(255) BINARY NULL DEFAULT NULL;兩種修改方式選擇一種既可
方法四
- 查詢語句字段前面加BINARY:
還有一種修改mysql配置文件my.ini的方法,本小白非常不推薦此方法,所以在此不再介紹,有興趣的小伙伴們可以了解一下:
mysql模糊查詢語句是否區(qū)分大小寫?
下面,對上述方法進行詳細(xì)介紹:
解決方法一
如圖所示,為了便于區(qū)分,讓小伙伴們更好地理解,在此,本小白建立了兩個一模一樣的數(shù)據(jù)庫,其中一個采用utf8編碼格式,另外一個采用utf8mb4格式:
建表語句采用utf8編碼格式:
建表語句
- blog_test : utf8編碼格式
數(shù)據(jù)庫內(nèi)容
查詢結(jié)果
- select * from t_blog where title like ‘%html%’;
- select * from t_blog where title like ‘%HTML%’;
結(jié)論:
mysql采用utf8編碼格式,模糊查詢區(qū)分大小寫
解決方法二
方法
單獨指定所需字段(比如,在此處 我所需要區(qū)分大小寫的字段為表 ‘t_blog’ 中的 ‘title’ 字段)為 ‘utf8’ 編碼格式,COLLATE 為“utf8_bin”;
結(jié)論
- select * from t_blog where title like ‘%HTML%’;
- select * from t_blog where title like ‘%html%’;
由上述執(zhí)行結(jié)果可以看出,單獨修改指定所需字段(比如,在此處 我所需要區(qū)分大小寫的字段為表 ‘t_blog’ 中的 ‘title’ 字段)為 ‘utf8’ 編碼格式,COLLATE 為“utf8_bin”,可以使模糊查詢語句區(qū)分大小寫;
解決方法三
方法
- 如圖所示,當(dāng)前 ‘t_blog’ 表格的 ‘title’ 字段的 COLLATE 為 ‘utf8mb4_general_ci’ ,不區(qū)分大小寫
- 修改字段為BINARY:
兩種修改方式選擇一種既可
結(jié)論
- select * from t_blog where title like ‘%HTML%’;
- select * from t_blog where title like ‘%html%’;
由上述執(zhí)行結(jié)果可以看出,修改字段為BINARY,可以使模糊查詢語句區(qū)分大小寫;
解決辦法四
方法
- 如圖所示,當(dāng)前 ‘t_blog’ 表格的 ‘title’ 字段的 COLLATE 為 ‘utf8mb4_general_ci’ ,不區(qū)分大小寫
- 查詢語句字段前面加BINARY:
結(jié)論
-
select * from t_blog where title like ‘%html%’;
-
select * from t_blog where BINARY title like ‘%html%’;
由上述執(zhí)行結(jié)果可以看出,在查詢語句字段前面加BINARY,可以使模糊查詢語句區(qū)分大小寫。
本小白還有很多地方講解的不夠清楚明了,還請各位大佬指教!想更深入了解的可以參考大佬的博客(膜拜膜拜)mysql區(qū)分大小寫
總結(jié)
以上是生活随笔為你收集整理的mysql模糊查询语句区分大小写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020年回顾
- 下一篇: 线上线下联动,小程序电商…今年双11“前