MySQL資料庫中庫、表名、欄位的大小寫問題
在使用MySQL建庫的過程中發現了一個問題,無論怎麼建立庫,建立出來的庫名都是小寫的。然後上網查了一下資料。
在MySQL中,資料庫和表都是對應目錄下的一個或多個檔案。因此,作業系統的大小寫是否敏感決定了資料庫大小寫是否敏感。而在Windows中是對大小寫不敏感的(Linux是對大小寫敏感的)。
下圖是在windows作業系統上MySQL中lower_case_table_system和lower_case_table_names的預設值。
下圖是在Linux作業系統上MySQL中lower_case_table_system和lower_case_table_names的預設值。
變數lower_case_file_system說明是否資料目錄所在的檔案系統對檔名的大小寫敏感。ON說明檔名的大小寫不敏感,OFF表示敏感。
lower_case_table_names引數說明
當值為0時
使用CREATE TABLE或CREATE DATABASE語句制定的大小寫字母在硬碟上儲存表名和資料庫名。名稱比較對大小寫敏感。在大小寫不敏感的作業系統如windows
或Max OS x上我們不能將引數設為0,如果再大小寫不敏感的檔案系統上將“lower_case_table_names”強制設定為0,並使用不同的大小寫訪問MyISAM表名,可能會導
致索引破壞。
當值為1時
表名在硬碟上以小寫儲存,名稱比較對大小寫不敏感。MySQL將所有表名轉換為小寫儲存和查詢表上。該行為也適合資料庫名和表的別名,該值為Windows的預設值。
當值為2時
表名和資料庫名在硬碟上使用CREATETABLE或CREATE DATABASE語句指定的大小寫字母進行儲存,但MySQL將它們轉換為小寫在查詢表上。名稱比較對大小寫不
敏感,即按照大小寫來儲存,按照小寫來比較。注意:只在對大小寫不敏感的檔案系統上適用!innodb表名用小寫儲存。
那麼現在問題來了,如何將Linux作業系統上有大小寫的資料庫還原到Windows作業系統上?
1、 將資料庫資料通過mysqldump匯出
2、 在my.cnf或my.ini中更改lower_case_tables_name=1,並重啟Mysql服務。
3、 將匯出的資料匯入MySQL資料庫中。
在MySql上為了避免大小寫問題引來的不必要的麻煩,建議都將“lower_case_tables_name”設定值為1。我們可以用其他的方式來命名。
相關文章
- Mysql 表名大小寫問題MySql
- jBoss下資料庫表名大小寫被自動更改的問題資料庫
- 資料庫欄位問題資料庫
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- oracle 資料庫設定表和欄位的別名Oracle資料庫
- 獲取sql server資料庫中所有庫、表、欄位名的方法SQLServer資料庫
- mysql 資料庫 表 欄位 編碼修改 方法MySql資料庫
- ASP獲取資料庫表名,欄位名以及對欄位的一些操作 (轉)資料庫
- mysql表名忽略大小寫問題記錄MySql
- 資料庫使用者大小寫問題資料庫
- 更改MySql表和欄位區分大小寫MySql
- 查詢MySQL資料庫,MySQL表的大小MySql資料庫
- 獲取SQL資料庫中某個表中的所有欄位名稱的通用方法SQL資料庫
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- 對資料庫中的表或欄位重新命名資料庫
- 資料庫欄位簡寫說明資料庫
- 資料庫表欄位命名規範資料庫
- mysql資料庫新增和修改欄位MySql資料庫
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- 向資料庫中全部表中增加一個欄位的SQL資料庫SQL
- mysql查詢欄位內容無法區分大小寫問題MySql
- mysql修改表、欄位、庫的字符集MySql
- 更改MYSQL資料庫不區分大小寫MySql資料庫
- mysql-資料庫欄位date datetimeMySql資料庫
- MYSQL-檢視資料庫或表的大小MySql資料庫
- MySQL表名區分大小寫MySql
- 保留資料庫表中的資料,把表中的欄位varchar2改成clob型別資料庫型別
- sqlserver查詢一個庫所有表的欄位名及欄位型別SQLServer型別
- 資料庫中的欄位id間斷問題大家使怎樣解決的?資料庫
- 資料庫寫入的問題資料庫
- 【資料庫】解決Mysql資料庫提示innodb表不存在的問題!資料庫MySql
- 資料庫中的圖片欄位怎麼在報表中呈現資料庫
- MySQL之資料庫和表的基本操作(建立表、刪除表、向表中新增欄位)MySql資料庫
- MySQL大小寫問題MySql
- MySQL中NULL欄位的比較問題MySqlNull
- 如何在Oracle資料庫中查詢表和欄位說明Oracle資料庫
- 修改Oracle資料庫表的大小Oracle資料庫
- 織夢資料庫表結構_Dedecms資料庫表和欄位詳細介紹資料庫