溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL中SQL語句的大小寫規(guī)則是什么

發(fā)布時間:2022-01-14 15:53:10 來源:億速云 閱讀:283 作者:小新 欄目:數(shù)據(jù)庫

這篇文章主要介紹MySQL中SQL語句的大小寫規(guī)則是什么,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

  SQL 語句的大小寫規(guī)則與語句組成元素、引用內(nèi)容和服務(wù)器所使用的操作系統(tǒng)有關(guān)。

  1、SQL 關(guān)鍵字和函數(shù)名

  SQL 的關(guān)鍵字和函數(shù)名不區(qū)分大小寫。例如,下面這些語句都是等價的:

  SELECT NOW();

  select now();

  sElEcT nOw();

  2、數(shù)據(jù)庫名、表名和視圖名

  MySQL 用服務(wù)器主機的底層文件系統(tǒng)所包含的目錄和文件來表示數(shù)據(jù)庫和表。因此,數(shù)據(jù)庫名和表名的默認(rèn)大小寫取決于服務(wù)器主機的操作系統(tǒng)在命名方面的規(guī)定。

  比如 Windows 系統(tǒng)的文件名不區(qū)分大小寫,所以運行在 Windows 系統(tǒng)上面的 MySQL 服務(wù)器也不用區(qū)分?jǐn)?shù)據(jù)庫名和表名的大小寫。Linux 系統(tǒng)的文件名區(qū)分大小寫,所以運行在 Linux 系統(tǒng)上的 MySQL 服務(wù)器需要區(qū)分?jǐn)?shù)據(jù)庫名和表名的大小寫。對于 Mac OS X 平臺,其文件系統(tǒng)中的名字是個例外,它們不區(qū)分大小寫。

  MySQL 會使用一個文件來表示一個視圖,所以以上與表有關(guān)的也同樣適用于視圖。

  3、存儲程序的名字

  存儲函數(shù)、存儲過程和事件的名字都不區(qū)分大小寫。觸發(fā)器的名字要區(qū)分大小寫,這一點與標(biāo)準(zhǔn) SQL 的行為有所不同。

  4、列名和索引名

  在 MySQL 里,列名和索引名都不區(qū)分大小寫。例如,下面這些語句都是等價的:

  SELECT name FROM student ;

  SELECT NAME FROM student ;

  SELECT nAmE FROM student ;

  5、別名的名字

  默認(rèn)情況下,表的別名要區(qū)分大小寫。SQL 語句中可以使用任意的大小寫(大寫、小寫或大小寫混用)來指定一個別名。如果需要在同一條語句里多次用到同一個別名,則必須讓它們的大小寫保持一致。

  下表總結(jié)了 SQL 元素在 Windows 和 Linux 系統(tǒng)是否區(qū)分大小寫。

  在 Linux 服務(wù)器下創(chuàng)建數(shù)據(jù)庫和表時,應(yīng)該認(rèn)真考慮大小寫的問題,比如它們以后是否會遷移到 Windows 服務(wù)器上。

  假設(shè)你在 Linux 服務(wù)器上創(chuàng)建了 abc 和 ABC 兩個表,當(dāng)把這兩個表遷移到 Windows 服務(wù)器上時,就會出現(xiàn)問題;因為 Windows 系統(tǒng)并不區(qū)分大小寫,abc 和 ABC 無差別。如果把表從 Linux 服務(wù)器遷移到 Windows 服務(wù)器時,也同樣會遇到問題。

  想要避免大小寫問題,可以先選定一種大小寫方案,然后一直按照該方案去創(chuàng)建數(shù)據(jù)庫和表。

  在阿里巴巴 Java 開發(fā)手冊的 MySql 建表規(guī)約里提到:

  【強制】表名、字段名必須使用小寫字母或數(shù)字,禁止出現(xiàn)數(shù)字開頭,禁止兩個下劃線中間只出現(xiàn)數(shù)字。數(shù)據(jù)庫字段名的修改代價很大,因為無法進(jìn)行預(yù)發(fā)布,所以字段名稱需要慎重考慮。

  通俗的說就是,MySQL 在 Windows 系統(tǒng)下不區(qū)分大小寫,但在 Linux 系統(tǒng)下默認(rèn)區(qū)分大小寫。因此,數(shù)據(jù)庫名、表名和字段名,都不允許出現(xiàn)任何大寫字母,避免節(jié)外生枝。

  一般建議統(tǒng)一使用小寫字母,并且 InnoDB 引擎在其內(nèi)部都是以小寫字母方式來存儲數(shù)據(jù)庫名和表名的。這樣可以有效的防止 MySQL 產(chǎn)生大小寫問題。

以上是“MySQL中SQL語句的大小寫規(guī)則是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI