Welcome 微信登录

首页 / 数据库 / MySQL / MySQL 查询时强制区分大小写

平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写。但作为用户信息,一旦用户名重复,又会浪费很多资源。再者,李逵、李鬼的多起来,侦辨起来很困难。要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感)。如果通盘数据库所有字段都需要大小写敏感,不如在字符集设置时做好调整。不过,通常不建议这么做。如果跟我一样,数据库已经在线上跑了,一个表上百万条数据,做字段类型变更有可能导致数据库宕机。那么好吧,在查询时,多加个单词好了!例如,一般查询:
  1. SELECT * FROM U WHERE name LIKE "a%";   
  2. SELECT * FROM U WHERE name LIKE "A%";  
其结果是一样的,为了区分"A%"和"a%",可以这么做:
  1. SELECT * FROM U WHERE binary name LIKE "a%";   
  2. SELECT * FROM U WHERE binary name LIKE "A%";  
仅仅多了一个binary,就可以得到不同的结果!当然,如果需要建表时强制区分大小写,可以这么写:
  1. create  table  table_name(     
  2.      name varchar (20) binary       
  3. );  
就这么简单!PostgreSQL的window函数整理MySQL 运维笔记(一)—— 终止高负载SQL相关资讯      MySQL基础教程 
  • MySQL基础教程:关于varchar(N)  (01月22日)
  • MySQL SELECT同时UPDATE同一张表  (02/19/2013 07:20:18)
  • Linux修改MySQL最大并发连接数  (02/15/2013 15:37:21)
  • 高性能MySQL(第3版) 中文PDF带目  (10/26/2014 10:03:50)
  • 如何在MySQL中的获取IP地址的网段  (02/18/2013 12:23:33)
  • C++和C#访问MySQL的简单代码示例  (12/21/2012 09:04:10)
本文评论 查看全部评论 (0)
表情: 姓名: 字数