Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.9Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


13.1.10 CREATE DATABASE 構文

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

CREATE DATABASE は、指定された名前を持つデータベースを作成します。このステートメントを使用するには、このデータベースに対する CREATE 権限が必要です。CREATE SCHEMACREATE DATABASE のシノニムです。

そのデータベースが存在するときに IF NOT EXISTS を指定しなかった場合は、エラーが発生します。

MySQL 5.6 では、アクティブな LOCK TABLES ステートメントが存在するセッション内では CREATE DATABASE が許可されません。

create_specification オプションは、データベースの特性を指定します。データベースの特性は、データベースディレクトリ内の db.opt ファイルに格納されます。CHARACTER SET 句は、デフォルトのデータベース文字セットを指定します。COLLATE 句は、デフォルトのデータベース照合順序を指定します。セクション10.1「文字セットのサポート」では、文字セットと照合順序名について説明しています。

MySQL でのデータベースは、そのデータベース内のテーブルに対応するファイルを含むディレクトリとして実装されます。データベースが最初に作成されたとき、その中にはテーブルが存在しないため、CREATE DATABASE ステートメントは、MySQL データディレクトリの下のディレクトリと db.opt ファイルのみを作成します。許可されるデータベース名のルールは、セクション9.2「スキーマオブジェクト名」に示されています。データベース名に特殊文字が含まれている場合は、セクション9.2.3「識別子とファイル名のマッピング」で説明されているように、その文字のエンコードされたバージョンがデータベースディレクトリの名前に含まれます。

データディレクトリの下に (たとえば、mkdir で) ディレクトリを手動で作成すると、サーバーはそれをデータベースディレクトリと見なし、SHOW DATABASES の出力に表示します。

mysqladmin プログラムを使用してデータベースを作成することもできます。セクション4.5.2「mysqladmin — MySQL サーバーの管理を行うクライアント」を参照してください。