版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/zyb_icanplay7/article/details/24981791

平时非常少会考虑数据存储须要明白字符串类型字段的大写和小写,MySQL默认的查询也不区分大写和小写。但作为用户信息。一旦username反复,又会浪费非常多资源。再者,李逵、李鬼的多起来。侦辨起来非常困难。

要做到这一点,要么在建表时。明白大写和小写敏感(字段明白大写和小写敏感)。

假设通盘数据库全部字段都须要大写和小写敏感。不如在字符集设置时做好调整。只是,通常不建议这么做。
 
假设跟我一样。数据库已经在线上跑了,一个表上百万条数据。做字段类型变更有可能导致数据库宕机。

那么好吧,在查询时,多加个单词好了。
比如,一般查询:

SELECT * FROM `user` WHERE name LIKE 'a%';
SELECT * FROM `user` WHERE name LIKE 'A%';

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

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

只多了一个binary,就能够得到不同的结果。
 
当然,假设须要建表时强制区分大写和小写,能够这么写:

create  table  `user`(
name varchar (20) binary
);

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

  1. mysql查询时强制区分大小写

    转载自:http://snowolf.iteye.com/blog/1681944 平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写.但作为用户信息,一旦用户名 ...

  2. Linux下设置MySQL不区分大写和小写

            MySQL在Linux下数据库名.表名.列名.别名大写和小写规则:  1.数据库名与表名是严格区分大写和小写  2.表的别名是严格区分大写和小写  3.列名与列的别名在全部的情况下均是 ...

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

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

  4. 项目问题总结2:GUID区分大写和小写吗?

    问题描写叙述: 近期在做项目的过程中,遇到一个问题,将从基础系统查询出来的课程ID作为參数去考评系统里查询考试信息,却什么也查不出来,调试了半天不知道什么原因. 问题分析: 静下心来思考一下,能够肯定 ...

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

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

  6. MySQL查询时区分大小写

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

  7. ThinkPHP3.2 新bug ReadHtmlCache 支持不区分大写和小写的函数

    报错提示: Fatal error: Function name must be a string in D:\wwwroot\zbphp.com\ThinkPHP\Library\Behavior\ ...

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

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

  9. mysql 查询时指定校对规则

    为了能在查询时忽略字段大小写,又不想修改数据表的属性配置,就在SQL语句中做了修改.结果在alibaba druid 执行时报错 com.alibaba.druid.sql.parser.Parser ...

随机推荐

  1. 关于vs2015无法启动iis服务

    关于vs2015无法启动iis服务,以下是我自己从网上找到的问题的几种解决办法 1.安装Visual Sutudil 2015 Update 3后调试项目出现问题“无法启动iis express we ...

  2. xcopy命令的其他参数

    xcopy /s /e /h "c:\123" "D:\123\" 后面多一个斜杠,让程序知道是目录 以下还给您提供了 xcopy 命令的其他参数: /A 仅复 ...

  3. flash builder注释字体看不清

    window-preferences-flex-editiors-syntex coloring-ActionScript-Comment (窗口-首选项-flashbuilder-编辑器-语法着色- ...

  4. Java学习--Jsp简介

  5. C# 简单的loading提示控件

    自己画一个转圈圈的控件 using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...

  6. 原生javascript实现类似jquery on方法的行为监听

    原生javascript有addEventListener和attachEvent方法来注册事件,但有时候我们需要判断某一行为甚至某一函数是否被执行了,并且能够获取前一行为的参数,这个时候就需要其他方 ...

  7. Git和Github快速入门

    一.什么是Git? 假设你在的公司要上线一个新功能,你们开发团队为实现这个新功能,写了大约5000行代码,上线没2天,就发现这个功能用户并不喜欢,你老板让你去掉这个功能,你怎么办?你说简单,直接把50 ...

  8. mysql中LOCATE和CASE WHEN...THEN...ELSE...END结合用法

    之前项目中需要写一个sql,就是查出某个调研详情中,选A答案,B答案,C答案...F答案的人各有多少人,这个sql也是费了很大的力气才写出来,故记下来,方便以后使用. 其中tbl_research_i ...

  9. CentOS7运维管理笔记(12)----修改主机名

    CentOS修改主机名 CentOS7和CentOS6.5 修改主机名的方法略有不同. 通过 hostname 命令可以查看当前的主机名. 1. 临时修改主机名 通过 'hostname 新的主机名' ...

  10. Oracle 给字符串补空格、补0

    利用lpad().RPAD()函数来实现给字符串补空格或补0的功能: 一.lpad()lpad函数将左边的字符串填充一些特定的字符其语法格式如下:lpad(string,n,[pad_string]) ...