操作系統對MySQL表命名有著一定的限制,下面就讓我們一起來了解操作系統對MySQL數據庫和MySQL表命名的限制,希望對您學習MySQL表命名方面有所幫助。
MySQL對命名數據庫和MySQL表命名有一個原則:
然而,因為數據庫和表的名字對應於目錄和文件名,服務器運行的操作系統可能強加額外的限制。
首先,數據庫和表名僅限於對文件名合法的字符,如 $在MySQL的原則中是允許的,但是如果你的操作系統不允許,則你不能在目錄或表名中使用它。實際上,這對Unix或Windows不是所擔心的,最大的難度是在執行數據庫管理時直接在shell中引用名字,例如,如果你命名一個數據庫如 $my_db,包含一個美元符,任何從shell中對該名字的引用可能被shell解釋為對一個變量的引用:
%ls $my_db
my_db:undefined variable
對此,你必須轉義 $字符或用引號禁止其特殊含義:
%ls \ $my_db
%ls ' $my_db'
如果你用引號,一定要用單引號,而雙引號並不禁止變量解釋。
其次,雖然MySQL允許數據庫和表名最長到64個字符,但名字的長度受限於你的操作系統限定的長度,一般這不是一個問題雖然老的System V強制14個字符)。在這種情況下,你數據庫名的上限為14個字符,而表名上限為10個字符,因為表示表的文件名有一個點.)和三個字符的擴展名。
第三,文件系統的大小寫敏感性影響到你如何命名和引用數據庫和表名。如果文件系統是大小寫敏感的如Unix),兩個名字my_tbl和MY_TBL是不同的表。如果文件系統不是大小寫敏感的如Windows),這兩個名字指的是相同的表。如果你用一個Unix服務器開發數據庫,並且如果你有可能轉移到Windows,你應該記住這一點。
MySQL修改表結構語句介紹
教您使用ALTER實現MYSQL修改表結構
使用MySQL命令行修改密碼
MySQL數據目錄的位置
通過索引優化MySQL語句的實例