テーブル名の大文字小文字区別

 

https://hito4-t.hatenablog.com/entry/2015/08/25/184107s


MySQL(Linux)
→lower_case_table_namesに依存する。デフォルトではテーブル名の大文字小文字は区別される。

MySQL(Windows)
→大文字小文字は区別されない。


Oracle(Linux)(Windows)
→テーブル名の大文字小文字は区別されない。

PostgreSQL(Linux)(Windows)
→テーブル名の大文字小文字は区別されない。


SQL Server(Linux)(Windows)
→照合順序に依存する。

 


select @@lower_case_table_names;

0 に設定すると、テーブル名は指定したとおりに格納され、比較では大/小文字が区別されます。 (Linuxデフォルト)
1 に設定すると、テーブル名はディスクに小文字で格納され、比較では大文字と小文字は区別されません。 (Windowsデフォルト)
2 に設定されると、テーブル名は指定したとおりに格納されますが、小文字で比較されます。


[1] Linuxで照合順序デフォルトの場合
OS: CentOS 7
DB: (8.0.29)
照合順序: utf8mb4_0900_ai_ci
lower_case_table_names: 0

リテラルについては、大文字小文字は区別されない
テーブル名については、大文字小文字は区別される
カラム名については、大文字小文字は区別されない(指定文字でDB格納)


[2] Linuxで照合順序バイナリの場合
OS: CentOS 7
DB: (8.0.30)
照合順序: utf8mb4_bin
lower_case_table_names: 0

リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別される
カラム名については、大文字小文字は区別されない(指定文字でDB格納)

 


[3] Windowsで照合順序デフォルトの場合
OS: Windows Server 2022
DB: (8.0.30)
照合順序: utf8mb4_0900_ai_ci
lower_case_table_names: 1

リテラルについては、大文字小文字は区別されない
テーブル名については、大文字小文字は区別されない(小文字でDB格納)
カラム名については、大文字小文字は区別されない(指定文字でDB格納)

 


[4] Windowsで照合順序バイナリの場合
OS: Windows Server 2022
DB: (8.0.30)
照合順序: utf8mb4_bin
lower_case_table_names: 1

リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別されない(小文字でDB格納)
カラム名については、大文字小文字は区別されない(指定文字でDB格納)

 


[1] Linuxで照合順序デフォルトの場合
OS: CentOS 7
DB: (19c)
照合順序: BINARY

リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別されない(大文字でDB格納)
カラム名については、大文字小文字は区別されない(大文字でDB格納)


[2] Windowsで照合順序デフォルトの場合
OS: Windows Server 2022
DB: (19c)
照合順序: BINARY


リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別されない(大文字でDB格納)
カラム名については、大文字小文字は区別されない(大文字でDB格納)

 


[1] Linuxで照合順序デフォルトの場合
OS: Rocky Linux 8.6
DB: (15)
照合順序: C

リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別されない(小文字でDB格納)
カラム名については、大文字小文字は区別されない(小文字でDB格納)

[2] Windowsで照合順序デフォルトの場合
OS: Windows Server 2016
DB: (15)
照合順序: UTF8


リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別されない(小文字でDB格納)
カラム名については、大文字小文字は区別されない(小文字でDB格納)

 

 


[1] Linuxで照合順序デフォルトの場合
OS: Ubuntu 20
DB: (2019)
照合順序: デフォルト(SQL_Latin1_General_CP1_CI_AS)


リテラルについては、大文字小文字は区別されない
テーブル名については、大文字小文字は区別されない(指定文字でDB格納)
カラム名については、大文字小文字は区別されない(指定文字でDB格納)

 

[2] Linuxで照合順序バイナリの場合
OS: Ubuntu 20
DB: (2019)
照合順序: Japanese_BIN2


リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別される
カラム名については、大文字小文字は区別される

 


[3] Windowsで照合順序デフォルトの場合
OS: Windows Server 2022
DB: (2022)
照合順序: デフォルト(Japanese_CI_AS)

リテラルについては、大文字小文字は区別されない
テーブル名については、大文字小文字は区別されない(指定文字でDB格納)
カラム名については、大文字小文字は区別されない(指定文字でDB格納)


[4] Windowsで照合順序バイナリの場合
OS: Windows Server 2022
DB: (2022)
照合順序: Japanese_BIN2

リテラルについては、大文字小文字は区別される
テーブル名については、大文字小文字は区別される
カラム名については、大文字小文字は区別される