mysql預設是對字母的大小寫不區分的
mysql> create table t1(
-> username varchar(10));
query ok, 0 rows affected (0.09 sec)
mysql> insert into t1 values('you'),('you'),('you');
query ok, 3 rows affected (0.05 sec)
records: 3 duplicates: 0 warnings: 0
對這個表,預設情況下,下面兩個查詢的結果是一樣的:
mysql> select * from t1 where username = 'you';
+------+
| username |
+------+
| you |
| you |
| you |
+------+
3 rows in set (0.00 sec)
mysql> select * from t1 where username = 'you';
+------+
| username |
+------+
| you |
| you |
| you |
+------+
3 rows in set (0.00 sec)
如果想讓mysql知道你輸入的字母是大寫還是小寫的,修改表:
mysql> alter table t1 change username username varchar(10) binary;
query ok, 3 rows affected (0.20 sec)
records: 3 duplicates: 0 warnings: 0
mysql> select * from t1 where username = 'you';
+------+
| username |
+------+
| you |
+------+
1 row in set (0.00 sec)
mysql> select * from t1 where username = 'you';
+------+
| username |
+------+
| you |
+------+
1 row in set (0.00 sec)
如果你只是想在sql語句中實現的話:
mysql> select * from t1 where username = binary 'you';
+------+
| username |
+------+
| you |
+------+
1 row in set (0.02 sec)
mysql> select * from t1 where username = binary 'you';
+------+
| username |
+------+
| you |
+------+
1 row in set (0.00 sec)
如果不想這麼麻煩而想服務一開啟就讓大小寫一致的話:
可以修改my.ini或者my.cnf
[mysqld]
lower_case_table_names=1
(0:區分;1:不區分)
然後重啟mysql服務。
mysql> show variables like '%case_table%';
+------------------------+-------+
| variable_name | value |
+------------------------+-------+
| lower_case_table_names | 1 |
+------------------------+-------+
1 row in set (0.00 sec)
注:windows系統不用修改,系統預設就是1
linux 系統預設是0。因為linux下的指令碼都是區分大小寫的。
mysql 不區分大小寫的處理辦法
1 今天發現,mysql5.5查詢預設是不區分大小寫的 select category ncrna species cell immune events count 1 from functiondata where category lncrna and ncrna linc01228 group...
mysql 不區分大小寫問題
1.mysql 的預設規定 1.1 mysql在linux下資料庫名 表名 列名 別名大小寫規則是這樣的 1 資料庫名與表名是嚴格區分大小寫的 2 表的別名是嚴格區分大小寫的 3 列名與列的別名在所有的情況下均是忽略大小寫的 4 變數名也是嚴格區分大小寫的 1.2 mysql在windows下都不區...
mysql查詢不區分大小寫
摘自 當我們輸入不管大小寫都能查詢到資料,例如 輸入 aaa 或者aaa aaa都能查詢同樣的結果,說明查詢條件對大小寫不敏感。解決方案一 於是懷疑mysql的問題。做個實驗 直接使用客戶端用sql查詢資料庫。發現的確是大小不敏感 通過查詢資料發現需要設定collate 校對 collate規則 b...