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的预编译

    一文说透什么是MySQL的预编译

    这篇文章主要介绍了一文说透什么是MySQL的预编译,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 一文详解MySQL不同隔离级别都使用什么锁

    一文详解MySQL不同隔离级别都使用什么锁

    这篇文章主要为大家详细介绍了在MySQL中不同隔离级别都会使用什么锁,文中的示例代码讲解详细,对我们学习MySQL有一定帮助,需要的可以参考一下
    2022-09-09
  • 简单介绍MySQL中GROUP BY子句的使用

    简单介绍MySQL中GROUP BY子句的使用

    这篇文章主要介绍了简单介绍MySQL中GROUP BY子句的使用,是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • MySQL实现导出excel的方法分析

    MySQL实现导出excel的方法分析

    这篇文章主要介绍了MySQL实现导出excel的方法,结合实例形式分析了基于php、js等方法实现mysql导出Excel的相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Mysql5.7如何修改root密码

    Mysql5.7如何修改root密码

    mysql修改管理员root的密码是个很常见的问题了,网上也有很多的教程,然而新版的MYSQL5.7却能使用之前的教程,小编经过一番摸索,才找到了修改办法,这里分享给大家。
    2016-01-01
  • mysql数据插入效率比较

    mysql数据插入效率比较

    今天小编就为大家分享一篇关于mysql数据插入效率比较,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • MySQL事务处理与应用简析

    MySQL事务处理与应用简析

    事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。这篇文章主要介绍了MySQL事务处理,需要的朋友可以参考下
    2014-06-06
  • Mysql主从同步的实现原理

    Mysql主从同步的实现原理

    这篇文章主要介绍了Mysql主从同步的实现原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • mysql8.0.19基础数据类型详解

    mysql8.0.19基础数据类型详解

    这篇文章主要介绍了mysql8.0.19基础数据类型的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2020-03-03
  • MySQL批量插入数据脚本

    MySQL批量插入数据脚本

    shell下向mysql批量插入数据的范例代码,有需要的小伙伴可以参考下
    2016-02-02

最新评论