文字セットと照合順序を指定してデータベースを作成

広告

文字セットと照合順序を指定してデータベースを作成する方法を確認します。書式は次の通りです。

CREATE DATABASE db_name
  CHARACTER SET charset_name COLLATE collation_name;

文字セットを指定しなかった場合には、MySQLサーバに設定されているデフォルト文字セットが適用されます。

文字セットの指定

では実際に試してみます。まずは文字セットだけを設定します。(MySQLで設定可能な文字セットについては「文字セットと照合順序」を参照して下さい)。

mysql> create database cp932db character set cp932;

p4-1

INFORMATION_SCHEMA.SCHEMATAテーブルを参照してみます。

mysql> select * from information_schema.schemata
    -> where schema_name = 'cp932db'¥G

p4-2

デフォルトの文字セットがcp932に設定されていることが確認できます。なお照合順序を指定しなかった場合は指定した文字セットのデフォルトの照合順序に設定されます。

文字セットと照合順序の指定

今度は文字セットに加えて照合順序も設定します。

mysql> create database eucjpdb character set eucjpms collate eucjpms_bin;

p4-3

INFORMATION_SCHEMA.SCHEMATAテーブルを参照してみます。

mysql> select * from information_schema.schemata
    -> where schema_name = 'eucjpdb'¥G

p4-4

デフォルトの文字セットがeucjpmsに設定されていることが確認できます。また照合順序もeucjpmsのデフォルト照合順序のeucjpms_japanese_ciではなく指定したeucjpms_binに設定されていることが確認できます。

( Written by Tatsuo Ikura )