設置mysql數據庫表名不區分大小寫

最近由於一個新的業務模塊,所以使用到到msyql數據庫。mysql

我對接的技術開發中心的同事由於對錶名、字段名大小寫使用特別不規範,查詢的時候 一個表名很常常大寫-小寫-大寫,所以讓我將數據庫設置爲對錶名不區分大小寫。sql

mysql數據庫的表的字段名是不區分大小寫的,數據庫

設置表名不區分,能夠在 數據庫的配置文件中添加一行:工具

lower_case_table_names=1測試

1:是表示不區分大小寫;spa

0:表示表名區分大小寫;開發

修改配置後須要重啓數據庫,設置才能生效。table

要是設置正常知足需求,修改設置以前得確保數據庫裏的表名都已是小寫的了。不然,數據庫重啓後,以前那些大寫的表沒法使用了。配置

同時,跟數據庫名字的大小寫也有關係。im

測試:

首先在區分大小寫環境下,創建兩個數據庫,"iris"  和 "IRIS"。同名的,一個大寫,一個小寫。

分別建立幾張表,有大寫表名,有小寫的。

數據庫修改成 「不區分大小寫」,設置生效以後,進入數據庫查看庫,依舊顯示 "iris" 和 "IRIS"。可是,"IRIS"已經只能看不能用了,use IRIS ,命令也報錯。固然,此庫下面的表也同樣,看都看不到了。

 

若是使用的是鏈接工具,諸如sqlyog等圖形化界面的話。

這個時候,切換數據庫: use iris,而且向 iris這個庫中新建表,表名 ABC 。

再將 數據庫設置爲「區分大小寫」。show databases: 依舊顯示,"iris" 和 "IRIS"。而且,查看"IRIS"中全部的表的時候:

show tables:

看到的表也有 ABC;

向表iris.ABC 插入數據,在IRIS庫的表下也能看到新增的數據。

其實這個時候,對數據庫來講,IRIS和iris就是同一個了。

可是,查看數據庫文件,能夠發現 數據庫目錄 名爲IRIS 目錄下沒有 表ABC.frm 等文件。因此,設置若是再切過來,將看不到 後來新建的表的。 

相關文章
相關標籤/搜索