近期,一直在忙着写一个小小的个人博客项目,在实现 “全局搜索” 功能时,一直想让 “全局搜索” 功能实现**“不区分大小写”**,方法介绍如下:
(在本小白的另外一篇博客中,介绍的比较详细,有兴趣的可以看一下:mysql模糊查询语句是否区分大小写?)

方法一:

设置“COLLATE”属性值为“utf8_general_ci”,mysql采用utf8mb4编码格式,模糊查询不区分大小写

方法二:

在创建表的时候,指定表字段COLLATE 为“utf8_general_ci”,或者修改指定表字段COLLATE 为“utf8_general_ci”;即,单独指定所需字段(比如,在此处 我所需要不区分大小写的字段为表 ‘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模糊查询语句是否区分大小写?

下面,对上述方法进行详细介绍:

解决方法一

如图所示,为了便于区分,让小伙伴们更好地理解,在此,本小白建立了两个一模一样的数据库,其中一个采用utf8编码格式,另外一个采用utf8mb4格式:

建表语句

建表语句采用utf8mb4编码格式:

  • blog_test2 : utf8mb4编码格式
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for t_blog
-- ----------------------------
DROP TABLE IF EXISTS `t_blog`;
CREATE TABLE `t_blog`  (`id` bigint(20) NOT NULL AUTO_INCREMENT,`appreciation` bit(1) NOT NULL,`comment_tabled` bit(1) NOT NULL,`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,`create_time` datetime(0) NULL DEFAULT NULL,`first_picture` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`flag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`published` bit(1) NOT NULL,`recommend` bit(1) NOT NULL,`share_statement` bit(1) NOT NULL,`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`update_time` datetime(0) NULL DEFAULT NULL,`views` int(11) NULL DEFAULT NULL,`type_id` bigint(20) NULL DEFAULT NULL,`user_id` bigint(20) NULL DEFAULT NULL,`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,INDEX `FK292449gwg5yf7ocdlmswv9w4j`(`type_id`) USING BTREE,INDEX `FK8ky5rrsxh01nkhctmo7d48p82`(`user_id`) USING BTREE,CONSTRAINT `FK292449gwg5yf7ocdlmswv9w4j` FOREIGN KEY (`type_id`) REFERENCES `t_type` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,CONSTRAINT `FK8ky5rrsxh01nkhctmo7d48p82` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

数据库内容

查询结果
  • select * from t_blog where title like ‘%html%’;
  • select * from t_blog where title like ‘%HTML%’;
结论

mysql采用utf8mb4编码格式,模糊查询不区分大小写

解决方法二

方法

单独指定所需字段(比如,在此处 我所需要不区分大小写的字段为表 ‘t_blog’ 中的 ‘title’ 字段)为 ‘utf8mb4’ 编码格式,COLLATE 为utf8mb4_bin:

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;
结论
  • select * from t_blog where title like ‘%HTML%’;

  • select * from t_blog where title like ‘%html%’;

由上述执行结果可以看出,单独指定所需字段(比如,在此处 我所需要不区分大小写的字段为表 ‘t_blog’ 中的 ‘title’ 字段)为 ‘utf8mb4’ 编码格式,COLLATE 为utf8mb4_bin,可以使模糊查询语句不区分大小写

本小白还有很多地方讲解的不够清楚明了,还请各位大佬指教!想更深入了解的可以参考大佬的博客(膜拜膜拜)mysql区分大小写

mysql模糊查询语句怎么不区分大小写相关推荐

  1. mysql模糊查询语句区分大小写

    近期,一直在忙着写一个小小的个人博客项目,在实现 "全局搜索" 功能时,一直想让 "全局搜索" 功能实现**"区分大小写"**,方法介绍如下 ...

  2. mybatis mysql 模糊查询语句_mybatis+Spring mysql的模糊查询问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 查询的mapping.xml语法 resultType="java.lang.Integer"> SELECT count(yy ...

  3. mybatis mysql 模糊查询语句_mybatis模糊查询语句及注意事项

    select count(*) from t_user loginacct like concat("%",#{queryText},"%") 1.动态查询语句 ...

  4. mysql语句模糊查询_mysql模糊查询语句是什么?

    mysql模糊查询语句是什么? 模糊查询语句如下:"SELECT 字段 FROM 表 WHERE 某字段 Like 条件". mysql提供了四种匹配模式: 1.% 表示任意0个或 ...

  5. mysql 模糊 语句_MySQL模糊查询语句整理集合

    sql模糊查询语句 一般模糊语句语法如下: select 字段 from 表 where 某字段 like 条件 其中关于条件,sql提供了四种匹配模式: 1.%:表示任意0个或多个字符.可匹配任意类 ...

  6. MySQL查询字段区不区分大小写? innodb的事务与日志的实现方式?binlog的几种日志录入格式以及区别?

    MySQL查询字段区不区分大小写? MySQL innodb的事务与日志的实现方式 MySQL binlog的几种日志录入格式以及区别 MySQL查询字段区不区分大小写? 答案是不区分 如何解决需要区 ...

  7. mysql 如何解决字段不区分大小写的问题

    mysql 如何解决字段不区分大小写的问题 参考文章: (1)mysql 如何解决字段不区分大小写的问题 (2)https://www.cnblogs.com/pansidong/p/7991344. ...

  8. mysql mybatis模糊查询语句_详解MyBatis模糊查询LIKE的三种方式

    模糊查询也是数据库SQL中使用频率很高的SQL语句,使用MyBatis来进行更加灵活的模糊查询. 直接传参法 直接传参法,就是将要查询的关键字keyword,在代码中拼接好要查询的格式,如%keywo ...

  9. MySql like模糊查询语句用法

    学习更多MySql语句:https://blog.csdn.net/weixin_45761237/category_11726248.html?spm=1001.2014.3001.5482 lik ...

最新文章

  1. 【组队学习】【28期】R语言数据科学
  2. Linux命令之乐--nmap
  3. PHP stripos strpos,strpos()和stripos()函数的区别
  4. 函数式接口@FunctionalInterface使用示例
  5. 403 forbidden nginx_5,Logstash正则提取Nginx日志 - pwcc
  6. 逻辑门的Verilog实现与仿真
  7. 手把手教你强化学习 (一) 什么是强化学习?与机器学习有什么区别?
  8. 递归定义以及斐波那契数列的实现
  9. 信息系统项目管理师计算题(进度管理总浮动时间、自由浮动时间、工期)
  10. Twaver-HTML5基础学习(3)基本数据元素(Data)其他功能函数以及组Group
  11. css 标记选择器,CSS标记选择器
  12. Unsupervised Domain Adaptation via Structurally Regularized Deep Clustering-CVPR2020
  13. 【NLP】NLP领域的国内外专家(Greedy_AI)
  14. 云服务器 ERP系统搭建,云服务器 ERP系统搭建
  15. 安卓app开发工具_最新app制作软件汇总:从零开始教你完成app开发
  16. 共享单车数据集超10万条
  17. 联想贺志强:智能互联网时代将有N倍速的产业新机遇
  18. 数据结构课程设计实验一:图书信息管理系统的设计与实现
  19. redis集群搭建参考文档
  20. OllyDbg 使用笔记 (十六)

热门文章

  1. 算法一:递归(包含Hanoi问题、N皇后问题、逆波兰表达式、爬楼梯、放苹果、全排列)
  2. 删除 Win10 资源管理器中的6个文件夹
  3. excel编辑csv文件
  4. c语言用十年算入门,初识C语言_十年饮冰 难凉热血的技术博客_51CTO博客
  5. iOS更新之DFU模式和恢复模式
  6. 实现一个简单的抽奖系统
  7. Tilemap瓦片资源
  8. 什么是无监督学习?概念、使用场景及常用算法详解
  9. 提莫攻击 findPoisonedDuration
  10. Guava1.0—— 目录