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
SCHEMA
は CREATE
DATABASE
の同義語です。
もしデータベースが存在し、IF
NOT EXISTS
を指定しなかった場合、エラーが発生します。
create_specification
オプションはデータベースの特徴を指定します。データベースの特徴は、データベースディレクトリの
db.opt
ファイルに格納されています。CHARACTER
SET
節はデフォルトデータベースのキャラクタセットを指定します。COLLATE
節はデフォルトデータベースの照合を指定します。Character Set Supportはキャラクタセットと照合名を検討します。
MySQL
内のデータベースは、その中のテーブルに対応するディレクトリとして実行されます。最初にデータベースが作成されたときにはその中にはテーブルがないので、CREATE
DATABASE
ステートメントが、MySQL
データディレクトリ下にディレクトリと
db.opt
ファイルだけを作成します。項5.2. 「スキーマオブジェクト名」
に許可されたデータベース名の規則が紹介されています。もしデータベース名が特別な文字を含んでいる場合、その名前は項5.2.3. 「識別子からファイル名へのマッピング」に表されているようにそれらの文字が暗号化された形を含んだものになります。
もしデータディレクトリ下にディレクトリを手動で作成したら
(たとえば mkdir
を利用して)、サーバーはそれをデータベースディレクトリとみなし、SHOW
DATABASES
の出力内に現れます。
データベースを作成するために mysqladmin プログラムを利用することもできます。項3.2. 「mysqladmin — MySQL サーバーの管理を行うクライアント」 を参照してください。