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

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. request发送json-rpc请求

    直接贴代码吧: let url = '/rest/2.0/res/auth_token?session=' + session url += getUrlTokenQuery() const meth ...

  2. 撩课-MySQL详解1-数据库简介

    学习地址:[撩课-JavaWeb系列1之基础语法-前端基础][撩课-JavaWeb系列2之XML][撩课-JavaWeb系列3之MySQL][撩课-JavaWeb系列4之JDBC][撩课-JavaWe ...

  3. 经典的SQL面试题及答案

    ​ ​ ​ ​ ​ ​​​​​ ​ ​​​​​​​​

  4. Spring Data JPA —— 快速入门

    一.概述 JPA : Java Persistence API, Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. Spring D ...

  5. PAT 1074. Reversing Linked List

    #include <cstdio> #include <cstdlib> #include <iostream> #include <unordered_ma ...

  6. 说说JSON和JSONP区别

    前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...

  7. UOJ#316. 【NOI2017】泳池

    传送门 一道 \(DP\) 好题 设 \(q\) 为一个块合法的概率 套路一恰好为 \(k\) 的概率不好算,算小于等于 \(k\) 的减去小于等于 \(k-1\) 的 那么设 \(f_i\) 表示宽 ...

  8. git revert后导致合并代码丢失

    起因 我有一个开发分支antd3.x和一个主分支develop,我在合并antd3.x到develop的时候发现有些修改没有合并进来. 查找问题 然后就去网上查,发现这篇文章<git合并丢失代码 ...

  9. axios使用初涉

    看vue的时候,vue2.0推荐使用axios做http请求,今天就学一下axios基本使用. 安装 axios 推荐npm方法(npm是node.js环境下的包管理器): npm install a ...

  10. js迪杰斯特拉算法求最短路径

    1.后台生成矩阵 名词解释和下图参考:https://blog.csdn.net/csdnxcn/article/details/80057574 double[,] arr = new double ...