データベースの文字セットと照合順序を変更する(ALTER DATABASE文)
作成済みのデータベースに対してデフォルトの文字セットと照合順序をあとから変更することができます。ここでは MariaDB で ALTER DATABASE 文を使いデータベースの属性を変更する方法について解説します。
(Last modified: )
データベースの文字セットと照合順序を変更する
データベースの属性を変更する方法を確認します。 ALTER DATABASE 文を使います。書式は次の通りです。
ALTER {DATABASE | SCHEMA} [db_name] alter_specification ... ALTER {DATABASE | SCHEMA} db_name UPGRADE DATA DIRECTORY NAME alter_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name | COMMENT [=] 'comment'
作成済みのデータベースに対して属性の変更を行えます。データベースディレクトリ名の変更なども行えますが、今回はデフォルトの文字セットと照合順序を変更する方法について解説します。実際に使用するのは次の構文となります。
ALTER DATABASE db_name CHARACTER SET charset_name COLLATE collation_name
データベースにおける文字セットと照合順序については「文字セットと照合順序を指定してデータベースを作成する」を参照されてください。
それでは実際に変更してみます。まず最初に mydb というデータベースをデフォルトの文字セットや照合順序を指定せずに作成します。
create database mydb;
作成したデータベースに設定されているデフォルトの文字セットと照合順序を確認します。次のように実行してください。
select SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME from INFORMATION_SCHEMA.SCHEMATA where SCHEMA_NAME = 'mydb';
現在は文字セットが utf8mb4 、照合順序が utf8mb4_general_ci に設定されています。
照合順序だけを変更する
最初に照合順序のみ変更してみます。次のように実行してください。
alter database mydb collate utf8mb4_bin;
照合順序を utf8mb4_general_ci から utf8mb4_bin へ変更しました。それでは再度データベースに設定されているデフォルトの文字セットと照合順序を確認してみます。
文字セットは utf8mb4 のままで、照合順序が utf8mb4_bin に変更されていることが確認できました。
文字セットと照合順序を変更する
次に文字セットと照合順序の両方を変更してみます。次のように実行してください。
alter database mydb character set cp932 collate cp932_bin;
文字セットを cp932 、照合順序を cp932_bin へ変更しました。それでは再度データベースに設定されているデフォルトの文字セットと照合順序を確認してみます。
文字セットが cp932 、照合順序が cp932_bin に変更されていることが確認できました。
-- --
MariaDB で ALTER DATABASE 文を使いデータベースの属性を変更する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。