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 5.7.14 安装配置简单教程

    mysql 5.7.14 安装配置简单教程

    这篇文章主要为大家分享了mysql 5.7.14安装配置方法图文教程,一看就会的mysql 5.7.14安装教程,感兴趣的朋友可以参考一下
    2016-08-08
  • MySQL索引失效原理

    MySQL索引失效原理

    索引可以加快查找速度是因为,在每一层的兄弟节点之间,索引是有序的,因此可以通过二分法快速定位到相应位置。如果一些操作破坏了索引排列的有序性或者不能利用索引的有序性,这个索引自然就失效了,下文更详细说明,需要的朋友可以参考一下
    2021-12-12
  • mysql事务和隔离级别底层原理浅析

    mysql事务和隔离级别底层原理浅析

    大家好,本篇文章主要讲的是mysql事务和隔离级别底层原理浅析,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2021-12-12
  • MySQL 百万级分页优化(Mysql千万级快速分页)

    MySQL 百万级分页优化(Mysql千万级快速分页)

    MySql 性能到底能有多高?用了php半年多,真正如此深入的去思考这个问题还是从前天开始。有过痛苦有过绝望,到现在充满信心
    2012-11-11
  • MySQL的双写缓冲区Doublewrite Buffer详解

    MySQL的双写缓冲区Doublewrite Buffer详解

    这篇文章主要介绍了MySQL的双写缓冲区Doublewrite Buffer详解,InnoDB是MySQL中一种常用的事务性存储引擎,它具有很多优秀的特性,其中,Doublewrite Buffer是InnoDB的一个重要特性之一,本文将介绍Doublewrite Buffer的原理和应用,需要的朋友可以参考下
    2023-07-07
  • MySQL 事务autocommit自动提交操作

    MySQL 事务autocommit自动提交操作

    这篇文章主要介绍了MySQL 事务autocommit自动提交操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • MySQL使用全库备份数据恢复单表数据的方法

    MySQL使用全库备份数据恢复单表数据的方法

    这篇文章主要给大家介绍了关于MySQL使用全库备份数据恢复单表数据的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12
  • 浅析MySQL - MVCC

    浅析MySQL - MVCC

    这篇文章主要介绍了MySQL - MVCC的相关资料,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-11-11
  • 简述MySQL主键和外键使用及说明

    简述MySQL主键和外键使用及说明

    MySQL通过外键约束来保证表与表之间的数据的完整性和准确性,本文主要介绍了简述MySQL主键和外键使用及说明,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • MySQL中LIKE BINARY和LIKE模糊查询实例代码

    MySQL中LIKE BINARY和LIKE模糊查询实例代码

    通常在实际应用中,会涉及到模糊查询的需求,下面这篇文章主要给大家介绍了关于MySQL中LIKE BINARY和LIKE模糊查询的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11

最新评论