tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

【mysql】collations

照合順序

文字コード+言語名+比較法で構成される

例)
utf8mb4_unicode_ci

sql実行時にcollateを指定することでオーバーライドすることもできる。 その場合文字コードが違う場合はオーバーライドできない。

unicode の方はあいまいな照合が可能で全角、半角、大文字、小文字を無視して一致するものを検索できる。

デフォルトはutf8mb4_general_ciを指定(charsetにutf8mb4でOK)して、大文字小文字の区別がしたい時だけSELECT文でcollate指定する。 パフォーマンスがいい、大文字小文字区別する必要がある頻度少ない為。

テーブルを結合する際には照合順序が違うとエラーが発生する。

指定はDB単位でもテーブル単位でもカラム単位でもできる。

collation確認

>show full columns from テーブル名

参考 http://blog.6vox.com/2014/05/mysqlcollatoin.html https://www.softel.co.jp/blogs/tech/archives/1877 https://qiita.com/tmasu/items/c1de4d03d9338b7dabcd