OSによって大文字小文字の区別が違うので、大文字小文字の扱いで面倒になることも多少あると思います。
MYSQLでは扱いを楽にするために以下の設定が準備されています。

    ※データベース、テーブルなどのオブジェクトを作成する前に設定しておいた方が良い。

MySQL において、データベースはデータディレクトリ内のディレクトリに対応しています。
データベース内の各テーブルも、データベースディレクトリ内の少なくとも1つ(記憶エンジンによってはそれ以上)
のファイルに対応しています。そのため、ベースとなっているオペレーティングシステムで大文字と小文字が区別
される場合、データベース名とテーブル名でも大文字と小文字が区別されます。つまり、Windows ではデータベース
名とテーブル名で大文字と小文字は区別されず、ほとんどの種類の Unix では大文字と小文字が区別されること
になります。ただし、重要な例外が 1 つあります。Mac OS X で、Unixをベースとしているがデフォルトの
HFS+ ファイルシステムを使用している場合です。この場合は大文字と小文字が区別されません。
しかし、Mac OS X は UFS ボリュームもサポートしています。UFS ボリュームでは Unix の場合と同じように
Mac OS X でも大文字と小文字が区別されます。


mysql> show variables like 'lower%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
+------------------------+-------+
2 rows in set (0.00 sec)

mysql>

lowercase


mysql> CREATE DATABASE CaseSensitive;
Query OK, 1 row affected (0.00 sec)

mysql> use Casesensitive;
ERROR 1049 (42000): Unknown database 'Casesensitive'
mysql> use CaseSensitive;
Database changed
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| CaseSensitive |
| DB01 |
| DB02 |
| MyAdmin |
| STUDY |
| TEST |
| client_test_db |
| mysql |
+--------------------+
9 rows in set (0.01 sec)

mysql>

database_casesensitive

詳細情報
8.2.2. 識別子の大文字/小文字区別

Comments are closed.

Post Navigation