識別符號 大小寫敏感性

2021-09-02 03:08:18 字數 1216 閱讀 3356

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可以採用下面的任一值:

含義0

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

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

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

3.命名規範

1)資料庫名

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

2)表名

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

3)列名

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

4.參考文件

MySql 識別符大小寫敏感性

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

Mysql的大小寫敏感性

原文 mysql在預設的情況下查詢是不區分大小寫的,例如 create table t1 name varchar 10 對這個表,預設情況下,下面兩個查詢的結果是一樣的 select from t1 where a abc select from t1 where a abc 也就是說不區分大小寫...

mysql的大小寫敏感性

mysql的大小寫敏感性主要分為兩部份 乙個是表名區別大小寫 二是字段值不區分大小寫.這個跟我們希望的恰好相反,而這卻是mysql 的預設設定,不得不令人費解,而這些卻是oracle資料庫比較基本的東西。首先說說mysql建表的特點?如果你建立一張test表,然後你到data目錄下會發現以下三個檔案...