MySQL字段值如何区分大小写问题

 更新时间:2024年05月30日 09:21:06   作者:小果子^_^  
这篇文章主要介绍了MySQL字段值如何区分大小写问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

MySQL字段值如何区分大小写

注意:设置的是字段值区分大小写

1. 查询时指定大小写敏感,加关键字‘BINARY’

(1)删表,建表,新增数据

drop table binary_test;
CREATE TABLE binary_test (
  `id` INT unsigned PRIMARY key NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into binary_test (name) values ('QWERTY');
insert into binary_test (name) values ('qwerty');

(2)测试数据

①查询小写字母

select * from binary_test where name ='qwerty';

②查询大写字母

select * from binary_test where binary name ='QWERTY';

2. 定义表结构时指定字段大小写敏感 关键字BINARY”指定guid字段大小写敏感

drop table binary_test;
CREATE TABLE binary_test (
  `id` INT unsigned PRIMARY key NOT NULL AUTO_INCREMENT,
  `name` varchar(255) BINARY  NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into binary_test (name) values ('QWERTY');
insert into binary_test (name) values ('qwerty');

注意 name字段使用binary修饰了。

select * from binary_test where name ='qwerty';

3. 修改排序规则(COLLATION)

show variables like ‘collation_database';

Collation以 “_ci"结尾的不区分大小写(ci——Case Ignore),以”_bin"或者"_cs"结尾的区分大小写

Collation改为 utf8_bin(大小写敏感的)

可以为库、表、列指定Collation。

优先级为 列>表>库

CREATE DATABASE sys_userCOLLATE utf8_bin;
ALTER TABLE sys_userDEFAULT CHARACTER SET=utf8 COLLATE=utf8_bin;
ALTER TABLE sys_user MODIFY COLUMN username varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
ALTER TABLE sys_user MODIFY COLUMN username VARCHAR(255) BINARY

MySql查询区分大小写

在mysql中,可以利用select查询语句配合binary关键字来区分大小写,select语句用于查询数据,binary关键字用于区分大小写,语法为“select * from 表名 WHERE binary 字段=字段值”。

select count(*) from ct_brand_info where binary brand_abbr = 'NA'

在SQL语句中,BINARY关键字用于进行二进制比较。当你使用BINARY关键字时,数据库会以二进制方式比较所有的字符串,包括大小写。

在你的示例中,SELECT COUNT(*) FROM ct_brand_info WHERE BINARY brand_abbr =

'NA’的目的是计算在ct_brand_info表中,brand_abbr列中等于’NA’的记录数。

使用BINARY的关键字在这里有两方面的影响

1.大小写敏感性:BINARY使比较区分大小写。这意味着它不仅会匹配完全等于’NA’的字符串,还会匹配等于’na’或’Na’等其他大小写组合的字符串。

2.二进制比较:BINARY将字符串转换为二进制格式进行比较。这使得比较更精确,因为它考虑了每个字符的二进制表示。

总结起来,BINARY关键字在你的SQL查询中的作用是使字符串比较区分大小写并使用二进制格式进行比较。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MYSQL数据库GTID实现主从复制实现(超级方便)

    MYSQL数据库GTID实现主从复制实现(超级方便)

    这篇文章主要介绍了MYSQL数据库GTID实现主从复制实现(超级方便),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SQL SERVER 2005 最小安装经验

    SQL SERVER 2005 最小安装经验

    很久以前有个疑问 安装SQL SERVER 2005后为什么会把VS2005给装上了,当时很郁闷,试想是不是在哪个环节把VS2005组件勾上的?
    2011-02-02
  • MySQL中字段名和保留字冲突的解决办法

    MySQL中字段名和保留字冲突的解决办法

    这篇文章主要介绍了MySQL中字段名和保留字冲突的解决办法,其实只需要用撇号把字段名括起来就可以了,这样在select、insert、update、delete语句中都不会有问题,需要的朋友可以参考下
    2014-06-06
  • MybatisPlus拦截器如何实现数据表分表

    MybatisPlus拦截器如何实现数据表分表

    为了解决MySQL中大数据量的查询效率问题,采用水平拆分策略,通过取模运算确定表后缀,实现数据的有效管理,设计分表时,需利用线程变量存取请求参数,并通过拦截器确定操作的具体表名,从而优化数据处理性能,此方法适用于业务表数据量大或快速增长的场景
    2024-11-11
  • mysql 数据库链接状态确认实验(推荐)

    mysql 数据库链接状态确认实验(推荐)

    这篇文章主要介绍了mysql 数据库链接状态确认实验,通过本文我选择 了三种方案给大家详细讲解,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Mysql通过Adjacency List(邻接表)存储树形结构

    Mysql通过Adjacency List(邻接表)存储树形结构

    本片介绍MYSQL存储树形结构的一种方法,通过Adjacency List来实现,一起来学习下。
    2017-12-12
  • mysql-5.5.28源码安装过程中错误总结

    mysql-5.5.28源码安装过程中错误总结

    介绍一下关于mysql-5.5.28源码安装过程中几大错误总结,希望此文章对各位同学有所帮助。
    2013-10-10
  • MySQL8.x msi版安装教程图文详解

    MySQL8.x msi版安装教程图文详解

    这篇文章主要介绍了MySQL8.x msi版安装教程 ,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项

    mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项

    本文主要给大家介绍mysql通过my.cnf修改默认字符集为utf-8的方法,当然你也可以设置成别的,国际点还是utf-8好,以及在修改过程中要注意的一些事项,有需要的朋友们可以参考借鉴。
    2016-09-09
  • Mysql sql慢查询监控脚本代码实例

    Mysql sql慢查询监控脚本代码实例

    这篇文章主要介绍了Mysql sql慢查询监控脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论