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

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

sql :

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

查询

SELECT * FROM U WHERE binary name LIKE ‘a%‘;
SELECT * FROM U WHERE binary name LIKE ‘A%‘;
仅仅多了一个binary,就可以得到不同的结果!
时间: 2024-11-05 21:53:12

【MySQL】查询时强制区分大小写的方法的相关文章

MySQL查询时强制区分大小写

平时很少会考虑数据存储需要明确字符串类型字段的大小写,MySQL默认的查询也不区分大小写.但作为用户信息,一旦用户名重复,又会浪费很多资源.再者,李逵.李鬼的多起来,侦辨起来很困难.要做到这一点,要么在建表时,明确大小写敏感(字段明确大小写敏感).如果通盘数据库所有字段都需要大小写敏感,不如在字符集设置时做好调整.不过,通常不建议这么做. 如果跟我一样,数据库已经在线上跑了,一个表上百万条数据,做字段类型变更有可能导致数据库宕机.那么好吧,在查询时,多加个单词好了! 例如,一般查询: SELEC

mysql查询时不区分大小写

一次偶然的机会,发现在登陆验证时,改变用户名的大小写,同样可以登录成功,这是由于,当时使用的mysql数据库对大小写不敏感,查询时总是能查询到数据.一番查找资料,给出的原因是:在创建数据库的时候,选择了utf8_general_ci排序规则. 创建数据库时,需要同时选择字符集和排序规则,字符集大家都知道是怎么回事,那排序规则干嘛用的呢? 排序规则:是指对指定字符集下不同字符的比较规则.其特征有以下几点: 1. 两个不同的字符集不能有相同的排序规则 2. 两个字符集有一个默认的排序规则 3. 有一

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

做用户登录模块时,输入用户名(大/小写)和密码 ,mysql都能查出来.-- mysql查询不区分大小写. 转自 http://blog.csdn.net/qishuo_java/article/details/40118937 找出用户名id为'AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h'的用户的数据: select * from usertable where id = 'AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h'; 结果出现两条记录.这就奇怪了

关于SVNcommit时强制写注释方法

关于SVNcommit时强制写注释方法 一.摘要 场景: 在这次开发项目过程中,团队中总是有人忘记添加注释. 问题: 1:其他成员不知道你提交是什么代码, 给回滚操作带来很多不必要的麻烦. 2:这个工作需要有一个人天天提醒大家在提交代码的时候加入注释. 3:这个是重复的,定时的,固定的 工作. 思路: 1:我们可以把这项工作交给电脑来完成岂不是更好. 2:提交代码的时候电脑自动提醒. 3:代码注释字数限制.以下为最少5个字为例子. 二.本文大纲 a.摘要. b.本文大纲. c.第一步创建SVN版

MySQL查询时区分大小写

1.一种方法是可以设置表或行的collation,使其为binary或case sensitive.在MySQL中,对于Column Collate其约定的命名方法如下: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *_ci: case insensitive collation,不区分大小写 ########### # Start binary colla

mysql查询时乱码解决办法

一次建表时显示中文正常,建表后查询却是乱码. mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | ?????          | | table1         | +----------------+ 2 rows in set (0.00 sec) 一般出现这种情况是因为客户端和服务端的编码类型不一致导致. 查看一些客户端和服务端的编码类型: mysql>  show variab

Postgresql查询时不区分大小写

postgresql提供有强大的正则表达式系统,可以在数据库级别实现模糊查询. 正则表达式匹配操作符: 操作符 描述 例子 ~ 匹配正则表达式,大小写相关 'thomas' ~ '.*thomas.*' ~* 匹配正则表达式,大小写无关 'thomas' ~* '.*Thomas.*' !~ 不匹配正则表达式,大小写相关 'thomas' !~ '.*Thomas.*' !~* 不匹配正则表达式,大小写无关 'thomas' !~* '.*vadim.*' 例如: 找出数据表account中所有

MySQL查询和修改auto_increment的方法

查询表名为tableName的auto_increment值: 复制代码 代码如下: SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_schema='photos' and table_name="tableName"; table_schema='photos' ---- 为所在数据库名称,没有这个会把root中所有表格中表格名都为tableName的auto_increment 都调出来: infor

mysql查询表里的重复数据方法

select username,count(*) as count from hk_test group by username having count>1; 原文地址:https://www.cnblogs.com/xujiating/p/11888183.html