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