1. 程式人生 > 資料庫 >MySQL內容不區分大小寫?

MySQL內容不區分大小寫?

場景

資料庫儲存的varchar型別字串查詢時不區分大小寫。

在這裡插入圖片描述

簡而言之: 通過 show variables like 'lower_case_table_names' 檢視值, 0代表嚴格區分, 1代表不區分,

通過修改mysql的配置my.cnf檔案更改然後重啟,即可達到預期的效果。

1、mysql預設情況下bai是否區分大小寫,使用dushow Variables like '%table_names’檢視lower_case_table_names的值,0代表區分,1代表不區分。

2、zhimysql對於型別為daovarchar資料預設不區分大小寫,但如果該欄位以“*_bin”編碼的話會使mysql對其區分大小寫。

3、mysql對於欄位名的策略與varchar型別資料相同。即:預設不區分大小寫,但如果該欄位是以“*_bin”編碼的話會使mysql對其區分大小寫。

4、mysql對於表名的策略與varchar型別資料相同。即:預設不區分大小寫,但如果該表是以“*_bin”編碼的話會使mysql對其區分大小寫。

5、如果按照第一項檢視lower_case_table_names的值為0,但需要讓mysql預設不區分大小寫的話,需要在mysql配置檔案中新增引數並重啟mysql資料庫。mysql配置檔案的修改內容如下:
[mysqld]

lower_case_table_names = 1

6、注意:表和欄位的編碼儘量繼承資料庫的編碼(不明顯指定即繼承),以免引起混亂。

LINUX下的MYSQL預設是要區分表名大小寫的 ,而在windows下表名不區分大小寫
  讓MYSQL不區分表名大小寫的方法其實很簡單:
  1.用ROOT登入,修改/etc/my.cnf
  2.在[mysqld]下加入一行:lower_case_table_names=1