linux中mysql表名是區分大小寫的;mysql的數據庫名、表名、變量名和表的別名在linux中都是嚴格區分大小寫的,而列名與列的別名在所有的情況下都是忽略大小寫的,可以修改MySQL的配置文件中的“ower_case_table_names”參數來設置是否區分大小寫。
本教程操作環境:linux7.3系統、mysql8.0.22版本、Dell G3電腦。
linux中mysql表名區分大小寫嗎
linux中,mysql安裝完成后,表名默認區分大小寫,且該屬性無法修改,網上說的在/etc/mysql/my.cnf中增加字段的配置都無法生效,修改后會導致mysql無法啟動。
mysql在linux中表名區分大小寫,mysql在Windows中表名不區分大小寫;可以在MySQL的配置文件“my.ini [mysqld]”中增加一行“ower_case_table_names = 參數”來設置是否區分大小寫。
MySQL在Linux下數據庫名、表名、列名、別名大小寫規則是這樣的:
-
數據庫名與表名是嚴格區分大小寫的;
-
表的別名是嚴格區分大小寫的;
-
列名與列的別名在所有的情況下均是忽略大小寫的;
-
變量名也是嚴格區分大小寫的;
MySQL在Windows下都不區分大小寫。
所以在不同操作系統中為了能使程序和數據庫都能正常運行,最好的辦法是在設計的時候都轉為小寫,但是如果在設計的時候已經規范化大小寫了,那么在Windows環境下只要對數據庫的配置做下改動就行了,
具體操作如下:
在MySQL的配置文件中my.ini [mysqld]中增加一行ower_case_table_names = 1
參數解釋:
-
0:區分大小寫
-
1:不區分大小寫
在 MySQL中,數據庫和表對就于那些目錄下的目錄和文件。
因而,操作系統的敏感性決定數據庫和表命名的大小寫敏感。這就意味著數據庫和表名在Windows 中是大小寫不敏感的,而在大多數類型的 Unix系統中是大小寫敏感的。
列名與列的別名在所有的情況下均是忽略大小寫的,而表的別名又是區分大小寫的。要避免這個問題,你最好在定義數據庫命名規則的時候就全部采用小寫字母加下劃線的組合,而不使用任何的大寫字母。或者也可以強制以 -O lower_case_table_names=1 參數啟動
推薦學習:Linux視頻教程