程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL大小寫敏感問題和命名規范

MySQL大小寫敏感問題和命名規范

編輯:MySQL綜合教程


MySQL大小寫敏感問題和命名規范   注:本文大部內容參考自互聯網相關文章   1.MySQL大小寫敏感規則   www.2cto.com   MySQL中,一個庫會對應一個文件夾,庫裡的表會則以文件的方式存放在文件夾內,所以,操作系統對大小寫的敏感性決定了數據庫和表的大小寫敏感(MySQL有一個只讀的系統變量lower_case_file_system,其值反映的正是當前文件系統是否區分大小寫)因此:在Windows下Mysql的數據庫和表名是大小寫不敏感的,而在大多數類型的Unix系統中是大小寫敏感的。   以下是MySQL詳細的大小寫區分規則:   在Linux下:   1、數據庫名與表名是嚴格區分大小寫的; 2、表的別名是嚴格區分大小寫的; 3、列名與列的別名在所有的情況下均是忽略大小寫的; 4、變量名也是嚴格區分大小寫的;    在Windows下:   全部不區分大小寫   www.2cto.com   補充: 1.MySQL中有一個系統變量:lower_case_table_names,專門用來配置是否區分據庫名與表名的大小寫。 如果你的系統是Windows,而你又希望mysql能夠區分大小寫,那麼你可以在my.ini文件中,在[mysqld]一節的最後,加入如下部分:
  [plain] #If set to 0, table names are stored as specified and comparisons are case sensitive.    #If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive.    #If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.   lower_case_table_names=0     2.MySQL在查詢字符串時是大小寫不敏感的。如某字段值需要區分大小寫,可在定義該字段時指定BINARY屬性。   2.一種MySQL命名規范   www.2cto.com   為了避免大小寫引發的問題,一種推薦的命名規則是:在定義數據庫、表、列的時候全部采用小寫字母加下劃線的方式,不使用任何大寫字母。   3.關於Hibernate/JPA數據庫schema自動映射的問題
  使用Hibernate/JPA的工程可以自動生成數據庫的schema,由於java有著自己的類與字段命名規則,這與mysql推薦的命名規則不太相符,於是出現了follow哪一種命名規范的問題。一般來說這會由團隊和DBA協商確定,使用mysql的命名規范不會出現大小寫帶來的問題,對於DBA來說可能也更加友好,而使用java的命名規范則對開發人員來說無疑是更加友好的,這將省去列名的映射配置,同時也方便開發人員查看數據庫。如果你的項目使用了後者,你最好像上面講到的,設置一下lower_case_table_names=0。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved