千家信息网

区别MySQL字段内容大小写讲解

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,下文内容主要给大家带来区别MySQL字段内容大小写讲解,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。数据由Orac
千家信息网最后更新 2025年11月07日区别MySQL字段内容大小写讲解

下文内容主要给大家带来区别MySQL字段内容大小写讲解,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

数据由Oracle 迁入MySQL ,由于之前Oracle区分大小写,MySQL的配置使用了默认配置,导致一些数据导入失败,有的唯一键报错,冲突。

将测试过程记录在下面。

数据库版本:MySQL 5.7.11

引用他人博客中内容:

校对规则一般有这些特征:

  • 两个不同的字符集不能有相同的校对规则。

  • 每个字符集有一个默认校对规则。例如,utf8默认校对规则是utf8_general_ci。

  • 存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。

查看支持的校验规则:

mysql> SHOW COLLATION like 'utf8%';+--------------------------+---------+-----+---------+----------+---------+| Collation                | Charset | Id  | Default | Compiled | Sortlen |+--------------------------+---------+-----+---------+----------+---------+| utf8_general_ci          | utf8    |  33 | Yes     | Yes      |       1 || utf8_bin                 | utf8    |  83 |         | Yes      |       1 || utf8_unicode_ci          | utf8    | 192 |         | Yes      |       8 |...| utf8mb4_general_ci       | utf8mb4 |  45 | Yes     | Yes      |       1 || utf8mb4_bin              | utf8mb4 |  46 |         | Yes      |       1 || utf8mb4_unicode_ci       | utf8mb4 | 224 |         | Yes      |       8 || utf8mb4_icelandic_ci     | utf8mb4 | 225 |         | Yes      |       8 |
查看本地的校验规则:mysql> show global variables like '%coll%';+----------------------+--------------------+| Variable_name        | Value              |+----------------------+--------------------+| collation_connection | utf8mb4_unicode_ci || collation_database   | utf8mb4_unicode_ci || collation_server     | utf8mb4_unicode_ci |+----------------------+--------------------+

生产中数据库使用的编码为utf8mb4, 校验规则为 utf8mb4_unicode_ci,对大小写不敏感

如果需要大小写敏感,需要将排序规则修改为utf8mb4_bin.

测试后结果:修改数据库配置后,不会对已经存在的表造成影响,如要生效需要修改特定列的排序规则。优先级大概是这样:列>表>数据库>云服务器

有两种方法使查询区分大小写:

  • 第一种方法为修改列级别的校验规则为utf8mb4_bin

T表

CREATE TABLE `T` (  `name` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_cimysql> select * from T;+------+| name |+------+| YOU  || You  || you  || you  || yOU  |+------+

T2表:将列校对规则修改为utf8mb4_bin

CREATE TABLE `T2` (  `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_cimysql> select * from T2;+------+| name |+------+| yOU  || you  |+------+

查询:

T:(未区分大小写)

mysql> select * from T where name = 'you';+------+| name |+------+| YOU  || You  || you  || you  || yOU  |+------+

T2:(已经区分大小写)

mysql> select * from T2 where name = 'you';+------+| name |+------+| you  |+------+
  • 第二种方法: 不修改配置,表结构,而使用如下的查询语句:

T:(未修改表)

mysql> select * from T where name = binary'you';+------+| name |+------+| you  || you  |+------+

对于以上关于区别MySQL字段内容大小写讲解,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

规则 大小 数据 校对 内容 数据库 配置 字符 字符集 方法 查询 字段 不同 专业 知识 过程 排序 测试 相同 下文 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广平县天气预报软件开发 跟学网络安全 实名制是提高网络安全的重要途径 各网络安全设备原理 数据库录入删除修改程序 河南信道捷网络技术有限公司 乡镇网络安全周宣传宣传横幅 网络安全意识培训开场白 中国首批网络安全学院 山东c语言软件开发价位 arm服务器x86服务器 长沙管理软件开发公司如何选择 数据库技术发展有哪五个阶段 高速服务器有超时的吗 纸箱吸塑一体软件开发流程 医院网络安全岗位培训 这个程序是用什么软件开发的 数字孪生对实时数据库系统的要求 十几个服务器适合做什么 上海好的软件开发注意事项 微软浏览器找不到服务器ip地址 数据库系统原理中关键字的概念 生命周期和个别软件开发模型 软件开发公司排名吗 通达oa 邮件服务器 在数据库表的字段 医院网络安全责任制 命令行打开dns服务器 天津综合软件开发直销价格 网络安全始终是
0