CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]db_name
[create_specification
[create_specification
] ...]create_specification
: [DEFAULT] CHARACTER SETcharset_name
| [DEFAULT] COLLATEcollation_name
CREATE DATABASE
は、与えられた名前でデータベースを作成します。このステートメントを利用する為には、データベースに
CREATE
権限が必要です。CREATE SCHEMA
は
CREATE DATABASE
の同義語です。
もしデータベースが存在し、IF NOT
EXISTS
を指定しなかった場合、エラーが発生します。
create_specification
オプションはデータベースの特徴を指定します。データベースの特徴は、データベース
ディレクトリの db.opt
ファイルに格納されています。CHARACTER
SET
条項はデフォルト
データベースの文字セットを指定します。COLLATE
条項はデフォルト
データベースの照合を指定します。章 9. キャラクタセットサポートは文字セットと照合名を検討します。
MySQL
内のデータベースは、その中のテーブルに対応するディレクトリとして実行されます。最初にデータベースが作成された時にはその中にはテーブルが無いので、CREATE
DATABASE
ステートメントが、MySQL
データディレクトリ下にディレクトリと
db.opt
ファイルだけを作成します。項8.2. 「識別子」
に許可されたデータベース名のルールが紹介されています。もしデータベース名が特別な文字を含んでいる場合、その名前は項8.2.3. 「ファイル名への識別子のマッピング」に表されているようにそれらの文字が暗号化された形を含んだ物になります。
もしデータ
ディレクトリ下にディレクトリを手動で作成したら(例えば
mkdirを利用して)、サーバはそれをデータベース
ディレクトリとみなし、SHOW
DATABASES
のアウトプット内に現れます。
データベースを作成する為に mysqladmin プログラムを利用する事もできます。詳しくは 項7.9. 「mysqladmin — MySQL サーバの管理を行うクライアント」 を参照してください。