区别MySQL字段内容大小写讲解
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,下文内容主要给大家带来区别MySQL字段内容大小写讲解,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。数据由Orac
千家信息网最后更新 2025年02月23日区别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安全错误
数据库的锁怎样保障安全
数据库登录页面代码
等级保护与网络安全
软件开发需要注意的法律环境
软件开发神话讲的什么
弹性云主机服务器安全
数据库中单价字段修改为
蔚来科技互联网
中专网络安全主题班会
维基百科离线数据库
s的服务器
菜鸟打单软件开发
8. 网络安全审计系统
代码评分数据库
山东新华互联网科技发布会
连接数据库失败可能硬盘没挂载
鑫方盛软件开发
网络技术检测报告
廊坊进销存软件开发多少钱
网络安全服务怎样开展
中小学网络安全说说
智阳网络技术有限公司排名
网络安全风险管理是指
我的世界无限经验指令服务器
天津服务器虚拟化设计云服务器
8. 网络安全审计系统
东莞dsp软件开发
诺顿网络安全授权码如何登录
软件开发工作能力考核
珠海网络安全部门
数据库再就业