转载自:http://snowolf.iteye.com/blog/1681944

平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写。但作为用户信息,一旦用户名重复,又会浪费很多资源。再者,李逵、李鬼的多起来,侦辨起来很困难。要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感)。如果通盘数据库所有字段都需要大小写敏感,不如在字符集设置时做好调整。不过,通常不建议这么做。

如果跟我一样,数据库已经在线上跑了,一个表上百万条数据,做字段类型变更有可能导致数据库宕机。那么好吧,在查询时,多加个单词好了!

例如,一般查询:

    SELECT * FROM U WHERE name LIKE 'a%';
SELECT * FROM U WHERE name LIKE 'A%';

其结果是一样的,为了区分'A%'和'a%',可以这么做:

    SELECT * FROM U WHERE binary name LIKE 'a%';
SELECT * FROM U WHERE binary name LIKE 'A%';

仅仅多了一个binary,就可以得到不同的结果!

当然,如果需要建表时强制区分大小写,可以这么写:

    create  table  table_name(
name varchar (20) binary
);

就这么简单!

mysql查询时强制区分大小写的更多相关文章

  1. 【MySQL】查询时强制区分大小写的方法

    MySQL默认的查询也不区分大小写.但作为用户信息,一旦用户名重复,又会浪费很多资源.再者,李逵.李鬼的多起来,侦辨起来很困难.要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感) sql ...

  2. MySQL查询时强制区分大写和小写

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zyb_icanplay7/article/details/24981791 平时非常少会考虑数据存储 ...

  3. mysql查询时不区分大小写

    一次偶然的机会,发现在登陆验证时,改变用户名的大小写,同样可以登录成功,这是由于,当时使用的mysql数据库对大小写不敏感,查询时总是能查询到数据.一番查找资料,给出的原因是:在创建数据库的时候,选择 ...

  4. MySQL查询时区分大小写(转)

    说明:在MySQL查询时要区分大小写会涉及到两个概念character set和collation,这两个概念在表设计时或者在查询时都可以指定的,详细参考:http://www.cnblogs.com ...

  5. 转!!mysql 查询条件不区分大小写问题

    做用户登录模块时,输入用户名(大/小写)和密码 ,mysql都能查出来.-- mysql查询不区分大小写. 转自 http://blog.csdn.net/qishuo_java/article/de ...

  6. mysql 查询条件不区分大小写问题

    转自 http://blog.csdn.net/qishuo_java/article/details/40118937 转自 https://www.cnblogs.com/wuyun-blog/p ...

  7. MySQL查询时,查询结果如何按照where in数组排序

    MySQL查询时,查询结果如何按照where in数组排序 在查询中,MySQL默认是order by id asc排序的,但有时候需要按照where in 的数组顺序排序,比如where in的id ...

  8. MySQL查询时区分大小写

    在创建MySQL数据库时,下面这些参数可供我们选择:*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitiv ...

  9. mysql 查询语句严格区分大小写

    一般情况下mysql 查询是不会区分大小写的,执行查询语句select id,current_unit from knowledge_attributes where  current_unit = ...

随机推荐

  1. Maven命令

    1. mvn help:describe 你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的. 参数: 1. -Dplu ...

  2. 实例1-gettree

    -- zx create PROCEDURE getbomtree @MaterialID INT --参数,父节点的id AS BEGIN -- 如果主BOM禁用,不显示树结构 ) BEGIN RE ...

  3. [C#] NPOI Excel解析

    通过NPOI解析Excel,将数据保存到DataTable中. #region excel解析 public DataTable ImportExcelFile(string filePath) { ...

  4. SolrQuery的使用

    查询的总结:一般查询分为以下几个步骤: 1.创建查询对象 2.创建查询条件 3.执行查询,这里注意要有返回值 4.对查询结果进行取出 public void queryDocument() throw ...

  5. JSPatch 技术要点

    作者:干掉crash链接:https://zhuanlan.zhihu.com/p/21884786来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 如果有方法不遵守语言 ...

  6. ParamTest

    package fourth; public class ParamTest { public static void main(String[] args) { // TODO Auto-gener ...

  7. git 命令操作

    git add .   : 将所有修改过的工作文件提交暂存区 git commit -am 'new'  : 将修改过的文件进行记录 git push origin dev : 将项目推送到dev分只 ...

  8. React项目(二):生命游戏

    引子 这是16年最后的一个练手项目,一贯的感觉就是,做项目容易,写说明文档难.更何况是一个唤起抑郁感觉的项目,码下的每个字,心就如加了一个千斤的砝码. 2016年,有些事我都已忘记,但我现在还记得.2 ...

  9. thinkphp3.2和phpexcel导入

    先整个最基础的代码,理解了这个,后面的就非常简单了 $file_name= './Upload/excel/123456.xls'; import("Org.Util.PHPExcel&qu ...

  10. 报错:emulator: WARNING: ./android/metrics/metrics_reporter_toolbar.cpp:167: Can't upload usage metrics: Error