這個(gè)和hibernate無(wú)關(guān),MYSQL的問(wèn)題1、Linux下mysql安裝完后是默認(rèn):區(qū)分表名的大小寫(xiě),不區(qū)分列名的大小寫(xiě);2、用root帳號(hào)登錄后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重啟MYSQL服務(wù),這時(shí)已設(shè)置成功:不區(qū)分表名
目前成都創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、路南網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
Windows 環(huán)境下大小寫(xiě)不敏感
CREATE TABLE tab (
id INT AUTO_INCREMENT,
val VARCHAR(10),
PRIMARY KEY (id)
);
mysql select * from tab;
Empty set (0.00 sec)
mysql select * from Tab;
Empty set (0.00 sec)
mysql select * from `Tab`;
Empty set (0.00 sec)
在MySQL中如何在硬盤(pán)上保存和使用表名和數(shù)據(jù)庫(kù)名由lower_case_tables_name系統(tǒng)變量確定,可以在啟動(dòng)mysqld時(shí)設(shè)置。lower_case_tables_name可以采用下面的任一值:
值 含義
0 使用CREATE TABLE或CREATE DATABASE語(yǔ)句指定的大寫(xiě)和小寫(xiě)在硬盤(pán)上保存表名和數(shù)據(jù)庫(kù)名。名稱(chēng)比較對(duì)大小寫(xiě)敏感。在Unix系統(tǒng)中的默認(rèn)設(shè)置即如此。請(qǐng)注意如果在大小寫(xiě)不敏感的文件系統(tǒng)上用--lower-case-table-names=0強(qiáng)制設(shè)為0,并且使用不同的大小寫(xiě)訪(fǎng)問(wèn)MyISAM表名,會(huì)導(dǎo)致索引破壞。
1 表名在硬盤(pán)上以小寫(xiě)保存,名稱(chēng)比較對(duì)大小寫(xiě)敏感。MySQL將所有表名轉(zhuǎn)換為小寫(xiě)以便存儲(chǔ)和查找。該行為也適合數(shù)據(jù)庫(kù)名和表的別名。該值為Windows和Mac OS X系統(tǒng)中的默認(rèn)值。
2 表名和數(shù)據(jù)庫(kù)名在硬盤(pán)上使用CREATE TABLE或CREATE DATABASE語(yǔ)句指定的大小寫(xiě)進(jìn)行保存,但MySQL將它們轉(zhuǎn)換為小寫(xiě)以便查找。名稱(chēng)比較對(duì)大小寫(xiě)敏感。注釋?zhuān)褐辉趯?duì)大小寫(xiě)不敏感的文件系統(tǒng)上適用! InnoDB表名以小寫(xiě)保存,例如lower_case_tables_name=1。
在Windows和Mac OS X中,lower_case_tables_name的 默認(rèn)值是1。
如果只在一個(gè)平臺(tái)上使用MySQL,通常不需要更改lower_case_tables_name變量。然而,如果你想要在對(duì)大小寫(xiě)敏感不同的文件系統(tǒng)的平臺(tái)之間轉(zhuǎn)移表,會(huì)遇到困難。例如,在Unix中,my_tables和MY_tables是兩個(gè)不同的表,但在Windows中,這兩個(gè)表名相同。要想避免由于數(shù)據(jù)庫(kù)或表名的大小寫(xiě)造成的數(shù)據(jù)轉(zhuǎn)移問(wèn)題,可使用兩個(gè)選項(xiàng):
? 在任何系統(tǒng)中可以使用lower_case_tables_name=1。使用該選項(xiàng)的不利之處是當(dāng)使用SHOW TABLES或SHOW DATABASES時(shí),看不出名字原來(lái)是用大寫(xiě)還是小寫(xiě)。
? 在Unix中使用lower_case_tables_name=0,在Windows中使用lower_case_tables_name=2。這樣了可以保留數(shù)據(jù)庫(kù)名和表名的大小寫(xiě)。不利之處是必須確保在Windows中查詢(xún)總是用正確大小寫(xiě)引用數(shù)據(jù)庫(kù)名和表名。如果將查詢(xún)轉(zhuǎn)移到Unix中,由于在Unix中大小寫(xiě)很重要,如果大小寫(xiě)不正確,它們不工作。
例外:如果你正使用InnoDB表,在任何平臺(tái)上均應(yīng)將lower_case_tables_name設(shè)置為1,以強(qiáng)制將名轉(zhuǎn)換為小寫(xiě)。
請(qǐng)注意在Unix中將lower_case_tables_name設(shè)置為1之前,重啟mysqld之前,必須先將舊的數(shù)據(jù)庫(kù)名和表名轉(zhuǎn)換為小寫(xiě)。
用root帳號(hào)登錄后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重啟MYSQL服務(wù),這時(shí)已設(shè)置成功:不區(qū)分表名的大小寫(xiě);\x0d\x0alower_case_table_names參數(shù)詳解:\x0d\x0alower_case_table_names = 0\x0d\x0a其中0:區(qū)分大小寫(xiě),1:不區(qū)分大小寫(xiě)\x0d\x0aMySQL在Linux下數(shù)據(jù)庫(kù)名、表名、列名、別名大小寫(xiě)規(guī)則是這樣的:\x0d\x0a1、數(shù)據(jù)庫(kù)名與表名是嚴(yán)格區(qū)分大小寫(xiě)的;\x0d\x0a2、表的別名是嚴(yán)格區(qū)分大小寫(xiě)的;\x0d\x0a3、列名與列的別名在所有的情況下均是忽略大小寫(xiě)的;\x0d\x0a4、變量名也是嚴(yán)格區(qū)分大小寫(xiě)的;\x0d\x0aMySQL在Windows下都不區(qū)分大小寫(xiě)。\x0d\x0a3、如果想在查詢(xún)時(shí)區(qū)分字段值的大小寫(xiě),則:字段值需要設(shè)置BINARY屬性,設(shè)置的方法有多種:\x0d\x0aA、創(chuàng)建時(shí)設(shè)置:\x0d\x0aCREATE TABLE T(\x0d\x0aA VARCHAR(10) BINARY);B、使用alter修改
mysql對(duì)于類(lèi)型為varchar數(shù)據(jù)默認(rèn)不區(qū)分大小寫(xiě),但如果該字段以“*_bin”編碼的話(huà)會(huì)使mysql對(duì)其區(qū)分大小寫(xiě)。
1、首先打開(kāi)MYSQL應(yīng)用程序,進(jìn)入到操作首頁(yè)中。
2、然后點(diǎn)擊輸入代碼“show variables like "%char%";”。
3、然后找到mysql的配置文件my.ini。
4、然后輸入代碼“show variables like 'lower_case_table_names';”。
5、就可以看到已經(jīng)開(kāi)啟了。
網(wǎng)頁(yè)標(biāo)題:mysql怎么不顯示大寫(xiě) mysql表名大寫(xiě) 查不到
文章起源:http://jinyejixie.com/article0/hejeio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、用戶(hù)體驗(yàn)、App設(shè)計(jì)、網(wǎng)站營(yíng)銷(xiāo)、搜索引擎優(yōu)化、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)