MySQL中查詢時對字母大小寫的區分

2022-08-26 00:03:21 字數 1109 閱讀 7218

我相信很多人在mysql中查詢時都遇到過mysql不區分字母大小寫的情況:如以下例子:

1.select * from `user` where userpass = 'z20';

結果為:

2.select * from `user` where userpass = 'z20';

結果為:

因此,mysql預設是不會對字段的值區分大小寫的。所以我們就要用到binary關鍵字來強制區分大小寫。

binary使用時只需在查詢的條件前面加上它就可以。看例子:

3.select * from `user` where binary userpass = 'z20';

結果為:

4.select * from `user` where binary userpass = 'z20';

結果為:

另一種情況就是在建表時給對應的字段加上標識,看例子:

5.create table `user`(

`userid` varchar(32) ,

username varchar(32),

userpass varchar(32) binary

在mysql中,存在大小寫問題的地方還有:

(1) 關鍵字:如select * from `user`和select * from `user`的結果相同。

(2) 標示符(如資料庫名稱和表名稱):不區分大小寫。

(3) 表的別名:不區分大小寫 select m.* from user m where m.username = '2';

(4) 列的別名:不區分大小寫 select uname from (select username as uname from user where userid= 「2」) ;

mysql限制大小寫 mysql對大小寫的限制問題

今天研發人員問我,mysql對大小寫有限制嗎?我想都沒想,說沒限制。過了一會兒,研發人員告訴我說linux下是有限制的。我頓時有種打自己臉的感覺。對於自己不確定的問題,一定得想清楚,查明白了再說。在windows和mac os中,lower case tables name的預設值是1.如果只是在乙...

MySQL 查詢時強制區分大小寫

平時很少會考慮資料儲存需要明確字串型別欄位的大小寫,mysql預設的查詢也不區分大小寫。但作為使用者資訊,一旦使用者名稱重複,又會浪費很多資源。再者,李逵 李鬼的多起來,偵辨起來很困難。要做到這一點,要麼在建表時,明確大小寫敏感 字段明確大小寫敏感 如果通盤資料庫所有欄位都需要大小寫敏感,不如在字符...

MySQL 查詢時強制區分大小寫

平時很少會考慮資料儲存需要明確字串型別欄位的大小寫,mysql預設的查詢也不區分大小寫。但作為使用者資訊,一旦使用者名稱重複,又會浪費很多資源。再者,李逵 李鬼的多起來,偵辨起來很困難。要做到這一點,要麼在建表時,明確大小寫敏感 字段明確大小寫敏感 如果通盤資料庫所有欄位都需要大小寫敏感,不如在字符...