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

注:本文大部內容參考自互聯網相關文章html

 

1.MySQL大小寫敏感規則mysql

 

MySQL中,一個庫會對應一個文件夾,庫裏的表會則以文件的方式存放在文件夾內,因此,操做系統對大小寫的敏感性決定了數據庫和表的大小寫敏感(MySQL有一個只讀的系統變量lower_case_file_system,其值反映的正是當前文件系統是否區分大小寫)所以:在Windows下Mysql的數據庫和表名是大小寫不敏感的,而在大多數類型的Unix系統中是大小寫敏感的。linux


如下是MySQL詳細的大小寫區分規則:

Linux下:

一、數據庫名與表名是嚴格區分大小寫的;
二、表的別名是嚴格區分大小寫的;
三、列名與列的別名在全部的狀況下均是忽略大小寫的;
四、變量名也是嚴格區分大小寫的; 

在Windows下:

所有不區分大小寫


補充:sql

1.MySQL中有一個系統變量:lower_case_table_names,專門用來配置是否區分據庫名與表名的大小寫。 若是你的系統是Windows,而你又但願mysql可以區分大小寫,那麼你能夠在my.ini文件中,在[mysqld]一節的最後,加入以下部分:數據庫

[plain] view plain copy
 
  1. #If set to 0, table names are stored as specified and comparisons are case sensitive.   
  2. #If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive.   
  3. #If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.  
  4. lower_case_table_names=0  

 

 

2.MySQL在查詢字符串時是大小寫不敏感的。如某字段值須要區分大小寫,可在定義該字段時指定BINARY屬性。app

 

2.一種MySQL命名規範

爲了不大小寫引起的問題,一種推薦的命名規則是:在定義數據庫、表、列的時候所有采用小寫字母加下劃線的方式,不使用任何大寫字母。
ui

相關文章
相關標籤/搜索