新聞中心

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、官渡網(wǎng)絡(luò)推廣、成都微信小程序、官渡網(wǎng)絡(luò)營(yíng)銷、官渡企業(yè)策劃、官渡品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供官渡建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
1) SQL 關(guān)鍵字和函數(shù)名
SQL 的關(guān)鍵字和函數(shù)名不區(qū)分大小寫(xiě)。例如,下面這些語(yǔ)句都是等價(jià)的:
SELECT NOW();
select now();
sElEcT nOw();
2) 數(shù)據(jù)庫(kù)名、表名和視圖名
mysql 用服務(wù)器主機(jī)的底層文件系統(tǒng)所包含的目錄和文件來(lái)表示數(shù)據(jù)庫(kù)和表。因此,數(shù)據(jù)庫(kù)名和表名的默認(rèn)大小寫(xiě)取決于服務(wù)器主機(jī)的操作系統(tǒng)在命名方面的規(guī)定。
比如 Windows 系統(tǒng)的文件名不區(qū)分大小寫(xiě),所以運(yùn)行在 Windows 系統(tǒng)上面的 MySQL 服務(wù)器也不用區(qū)分?jǐn)?shù)據(jù)庫(kù)名和表名的大小寫(xiě)。Linux 系統(tǒng)的文件名區(qū)分大小寫(xiě),所以運(yùn)行在 Linux 系統(tǒng)上的 MySQL 服務(wù)器需要區(qū)分?jǐn)?shù)據(jù)庫(kù)名和表名的大小寫(xiě)。對(duì)于 Mac OS X 平臺(tái),其文件系統(tǒng)中的名字是個(gè)例外,它們不區(qū)分大小寫(xiě)。
MySQL 會(huì)使用一個(gè)文件來(lái)表示一個(gè)視圖,所以以上與表有關(guān)的也同樣適用于視圖。
3) 存儲(chǔ)程序的名字
存儲(chǔ)函數(shù)、存儲(chǔ)過(guò)程和事件的名字都不區(qū)分大小寫(xiě)。觸發(fā)器的名字要區(qū)分大小寫(xiě),這一點(diǎn)與標(biāo)準(zhǔn) SQL 的行為有所不同。
4) 列名和索引名
在 MySQL 里,列名和索引名都不區(qū)分大小寫(xiě)。例如,下面這些語(yǔ)句都是等價(jià)的:
SELECT name FROM student ;
SELECT NAME FROM student ;
SELECT nAmE FROM student ;
5) 別名的名字
默認(rèn)情況下,表的別名要區(qū)分大小寫(xiě)。SQL 語(yǔ)句中可以使用任意的大小寫(xiě)(大寫(xiě)、小寫(xiě)或大小寫(xiě)混用)來(lái)指定一個(gè)別名。如果需要在同一條語(yǔ)句里多次用到同一個(gè)別名,則必須讓它們的大小寫(xiě)保持一致。
下表總結(jié)了 SQL 元素在 Windows 和 Linux 系統(tǒng)是否區(qū)分大小寫(xiě)。
| Windows | Linux | |
|---|---|---|
| 數(shù)據(jù)庫(kù)名 | 否(忽略大小寫(xiě)) | 是 |
| 表名 | 是 | |
| 表別名 | 是 | |
| 列名 | 否(忽略大小寫(xiě)) | |
| 列別名 | 否(忽略大小寫(xiě)) | |
| 變量名 | 是 |
在 Linux 服務(wù)器下創(chuàng)建數(shù)據(jù)庫(kù)和表時(shí),應(yīng)該認(rèn)真考慮大小寫(xiě)的問(wèn)題,比如它們以后是否會(huì)遷移到 Windows 服務(wù)器上。
假設(shè)你在 Linux 服務(wù)器上創(chuàng)建了 abc 和 ABC 兩個(gè)表,當(dāng)把這兩個(gè)表遷移到 Windows 服務(wù)器上時(shí),就會(huì)出現(xiàn)問(wèn)題;因?yàn)?Windows 系統(tǒng)并不區(qū)分大小寫(xiě),abc 和 ABC 無(wú)差別。如果把表從 Linux 服務(wù)器遷移到 Windows 服務(wù)器時(shí),也同樣會(huì)遇到問(wèn)題。
想要避免大小寫(xiě)問(wèn)題,可以先選定一種大小寫(xiě)方案,然后一直按照該方案去創(chuàng)建數(shù)據(jù)庫(kù)和表。
在阿里巴巴 Java 開(kāi)發(fā)手冊(cè)的 MySql 建表規(guī)約里提到: 通俗的說(shuō)就是,MySQL 在 Windows 系統(tǒng)下不區(qū)分大小寫(xiě),但在 Linux 系統(tǒng)下默認(rèn)區(qū)分大小寫(xiě)。因此,數(shù)據(jù)庫(kù)名、表名和字段名,都不允許出現(xiàn)任何大寫(xiě)字母,避免節(jié)外生枝。
一般建議統(tǒng)一使用小寫(xiě)字母,并且 InnoDB 引擎在其內(nèi)部都是以小寫(xiě)字母方式來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)名和表名的。這樣可以有效的防止 MySQL 產(chǎn)生大小寫(xiě)問(wèn)題。
網(wǎng)站名稱:MySQL中SQL語(yǔ)句的大小寫(xiě)規(guī)則
文章位置:http://www.5511xx.com/article/cohdops.html


咨詢
建站咨詢
