データベース属性の変更

広告

データベースの属性を変更する方法を確認します。ALTER DATABASE文を使います。基本書式は次の通りです。

ALTER  DATABASE db_name
  CHARACTER SET charset_name COLLATE collation_name;

既に作成済みのデータベース名を指定し、属性の変更を行えます。現在のバージョンで変更可能なのはデフォルト文字セットと照合順序の変更です。

なおデータベースにおけるデフォルト文字セットというのは、データベースにテーブルを作成した時、文字セットを指定しなかった場合に設定される文字セットです。ALTER DATABASEを使ってデフォルト文字セットを変更したとしても、既に存在するテーブルの文字セットなどが変更されるわけではなりません。あくまで変更以降に作成されるテーブルのデフォルトの文字セットに影響があるだけです。

実際に変更してみます。次のように入力して下さい。

mysql> alter database eucjpdb character set utf8;

p6-1

「eucjpdb」データベースのデフォルト文字セットが変更されました。ではINFORMATION_SCHEMA.SCHEMATAテーブルを参照して確認してみます。

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

p6-2

文字セットが指定したutf8に変更されていることが確認できます。

今回は文字セットだけを変更しましたが、同時に照合順序を変更することもできます。今回のように文字セットだけを変更した場合は、文字セットのデフォルトの照合順序が設定されます。

( Written by Tatsuo Ikura )