mysql資料庫識別符號大小寫 識別符號 大小寫敏感性

2021-10-19 19:35:47 字數 1078 閱讀 5935

1.簡介

在mysql中,資料庫對應資料目錄中的目錄。資料庫中的每個表至少對應資料庫目錄中的乙個檔案(也可能是多個,取決於儲存引擎)。因此,所使用作業系統的大小寫敏感性決定了資料庫名和表名的大小寫敏感性。這說明在大多數unix中資料庫名和表名對大小寫敏感,而在windows中對大小寫不敏感。乙個顯著的例外情況是mac os x,它基於unix但使用預設檔案系統型別(hfs+),對大小寫不敏感。然而,mac os x也支援ufs卷,該卷對大小寫敏感,就像unix一樣。

列、索引、儲存子程式和觸發器名在任何平台上對大小寫不敏感,列的別名也不敏感。

預設情況,表別名在unix中對大小寫敏感,但在windows或mac os x中對大小寫不敏感。

2.設定

在mysql中如何在硬碟上儲存和使用表名和資料庫名由lower_case_tables_name系統變數確定,可以在啟動mysqld時設定。lower_case_tables_name可以採用下面的任一值:值含義

使用create table或create database語句指定的大寫和小寫在硬碟上儲存表名和資料庫名。名稱比較對大小寫敏感。在unix系統中的預設設定即如此。請注意如果在大小寫不敏感的檔案系統上用--lower-case-table-names=0強制設為0,並且使用不同的大小寫訪問myisam表名,會導致索引破壞。

表名在硬碟上以小寫儲存,名稱比較對大小寫敏感。mysql將所有表名轉換為小寫以便儲存和查詢。該行為也適合資料庫名和表的別名。該值為windows和mac os x系統中的預設值。

表名和資料庫名在硬碟上使用create table或create database語句指定的大小寫進行儲存,但mysql將它們轉換為小寫以便查詢。名稱比較對大小寫敏感。注釋:只在對大小寫不敏感的檔案系統上適用! innodb表名以小寫儲存,例如lower_case_tables_name=1。

3.命名規範

1)資料庫名

小寫英文以及下劃線組成,備份資料庫名使用正式庫名加上備份時間組成

2)表名

小寫英文以及下劃線組成,備份資料表名使用正式表名加上備份時間組成

3)列名

以f開頭,後面單詞的首字母大寫,外來鍵列使用fk開頭

4.參考文件

識別符號 大小寫敏感性

1.簡介 在mysql中,資料庫對應資料目錄中的目錄。資料庫中的每個表至少對應資料庫目錄中的乙個檔案 也可能是多個,取決於儲存引擎 因此,所使用作業系統的大小寫敏感性決定了資料庫名和表名的大小寫敏感性。這說明在大多數unix中資料庫名和表名對大小寫敏感,而在windows中對大小寫不敏感。乙個顯著的...

Mysql資料庫大小寫問題

select from user where name aaa select from user where name aaa 以上兩條sql執行結果是一樣的。以上兩條sql語句的執行結果是一樣的,發現mysql有時是不區分大小寫的。如何區分大小寫以下是三種方式,本人親測 1 建庫的時候排序規則選擇...

MySQL 資料庫大小寫的問題

後端開發,會時不時地和資料庫打交道,mysql 資料庫作為開源資料庫,市場占有率相當高,很有研究和學習的價值。在之前的部落格中也提到了 mysql 資料庫的一些常用的操作和介紹,在這裡聊一聊資料庫大小寫的問題。mysql 開發過程中有可能會新增外來鍵,遇到問題不妨先看看字段大小寫是否匹配。mysql...