最近由於一個新的業務模塊,所以使用到到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 等文件。因此,設置若是再切過來,將看不到 後來新建的表的。