linux中mysql表名是區(qū)分大小寫(xiě)的;mysql的數(shù)據(jù)庫(kù)名、表名、變量名和表的別名在linux中都是嚴(yán)格區(qū)分大小寫(xiě)的,而列名與列的別名在所有的情況下都是忽略大小寫(xiě)的,可以修改MySQL的配置文件中的“ower_case_table_names”參數(shù)來(lái)設(shè)置是否區(qū)分大小寫(xiě)。
本教程操作環(huán)境:linux7.3系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
linux中mysql表名區(qū)分大小寫(xiě)嗎
linux中,mysql安裝完成后,表名默認(rèn)區(qū)分大小寫(xiě),且該屬性無(wú)法修改,網(wǎng)上說(shuō)的在/etc/mysql/my.cnf中增加字段的配置都無(wú)法生效,修改后會(huì)導(dǎo)致mysql無(wú)法啟動(dòng)。
mysql在linux中表名區(qū)分大小寫(xiě),mysql在Windows中表名不區(qū)分大小寫(xiě);可以在MySQL的配置文件“my.ini [mysqld]”中增加一行“ower_case_table_names = 參數(shù)”來(lái)設(shè)置是否區(qū)分大小寫(xiě)。
MySQL在Linux下數(shù)據(jù)庫(kù)名、表名、列名、別名大小寫(xiě)規(guī)則是這樣的:
-
數(shù)據(jù)庫(kù)名與表名是嚴(yán)格區(qū)分大小寫(xiě)的;
-
表的別名是嚴(yán)格區(qū)分大小寫(xiě)的;
-
列名與列的別名在所有的情況下均是忽略大小寫(xiě)的;
-
變量名也是嚴(yán)格區(qū)分大小寫(xiě)的;
MySQL在Windows下都不區(qū)分大小寫(xiě)。
所以在不同操作系統(tǒng)中為了能使程序和數(shù)據(jù)庫(kù)都能正常運(yùn)行,最好的辦法是在設(shè)計(jì)的時(shí)候都轉(zhuǎn)為小寫(xiě),但是如果在設(shè)計(jì)的時(shí)候已經(jīng)規(guī)范化大小寫(xiě)了,那么在Windows環(huán)境下只要對(duì)數(shù)據(jù)庫(kù)的配置做下改動(dòng)就行了,
具體操作如下:
在MySQL的配置文件中my.ini [mysqld]中增加一行ower_case_table_names = 1
參數(shù)解釋?zhuān)?/p>
-
0:區(qū)分大小寫(xiě)
-
1:不區(qū)分大小寫(xiě)
在 MySQL中,數(shù)據(jù)庫(kù)和表對(duì)就于那些目錄下的目錄和文件。
因而,操作系統(tǒng)的敏感性決定數(shù)據(jù)庫(kù)和表命名的大小寫(xiě)敏感。這就意味著數(shù)據(jù)庫(kù)和表名在Windows 中是大小寫(xiě)不敏感的,而在大多數(shù)類(lèi)型的 Unix系統(tǒng)中是大小寫(xiě)敏感的。
列名與列的別名在所有的情況下均是忽略大小寫(xiě)的,而表的別名又是區(qū)分大小寫(xiě)的。要避免這個(gè)問(wèn)題,你最好在定義數(shù)據(jù)庫(kù)命名規(guī)則的時(shí)候就全部采用小寫(xiě)字母加下劃線的組合,而不使用任何的大寫(xiě)字母?;蛘咭部梢詮?qiáng)制以 -O lower_case_table_names=1 參數(shù)啟動(dòng)
推薦學(xué)習(xí):Linux視頻教程