mysql查詢大小寫 mysql查詢不區分大小寫

2021-10-17 12:26:30 字數 1140 閱讀 9971

摘自:

當我們輸入不管大小寫都能查詢到資料,例如:輸入 aaa 或者aaa ,aaa都能查詢同樣的結果,說明查詢條件對大小寫不敏感。

解決方案一:

於是懷疑mysql的問題。做個實驗:直接使用客戶端用sql查詢資料庫。 發現的確是大小不敏感 。

通過查詢資料發現需要設定collate(校對) 。 collate規則:

*_bin: 表示的是binary case sensitive collation,也就是說是區分大小寫的

*_cs: case sensitive collation,區分大小寫

*_ci: case insensitive collation,不區分大小寫

解決方法。

1.可以將查詢條件用binary()括起來。  比如:

select * from tablea where binary columna ='aaa';

2. 可以修改該字段的collation 為 binary

比如:alter table tablename modify column columnname varchar(50) binary character set utf8 collate utf8_bin default null;

解決方案二:

mysql查詢預設是不區分大小寫的 如:

select * from some_table where str=『abc';

select * from some_table where str='abc';

得到的結果是一樣的,如果我們需要進行區分的話可以按照如下方法來做:

第一種方法:

要讓mysql查詢區分大小寫,可以:

select * from some_table where binary str='abc'

select * from some_table where binary str='abc'

第二方法:

在建表時時候加以標識

create tablesome_table(str char(20) binary)

原理:對於char、varchar和text型別,binary屬性可以為列分配該列字符集的 校對規則。binary屬性是指定列字符集的二元 校對規則的簡寫。排序和比較基於數值字元值。因此也就自然區分了大小寫。

MySQL查詢區分大小寫

mysql查詢區分大小寫 create table students name varchar 10 mysql查詢預設是不區分大小寫的 如 select from students where name like a select from students where name like a 效...

mysql 小寫 MySQL大小寫小結

小結 1.資料庫名大小寫敏感,不可引數調配 2.表名大小寫敏感 可引數調配lower case table names 表別名敏感大小寫 3.列名和列的別名不敏感大小寫 4.變數名嚴格敏感大小寫,不可引數調配 5.執行目錄大小寫敏感,可引數調配 lower case file system 6.wi...

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

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