MySQL :: MySQL 5.7 リファレンスマニュアル :: 13.1.11 CREATE DATABASE Statement

13.1.11 CREATE DATABASE Statement

CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name}

CREATE DATABASEは与えられた名前を持つデータベースを作成します。 このステートメントを使用するには、そのデータベースに対してCREATE権限が必要です。 CREATE SCHEMACREATE DATABASE の同義語である。

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

CREATE DATABASE は、アクティブな LOCK TABLES 文を持つセッション内では許可されません。

create_optionはデータベースの特性を指定します。 データベース特性はデータベースディレクトリの db.opt ファイルに格納される。 CHARACTER SET オプションはデータベースのデフォルトの文字セットを指定する。 COLLATE オプションはデータベースのデフォルトの照合順序を指定する。 キャラクタセットと照合順序の名前については、第10章「キャラクタセット、照合順序、Unicode」を参照のこと。

利用可能なキャラクタセットと照合順序を見るには、それぞれSHOW CHARACTER SETSHOW COLLATIONステートメントを使用します。 13.7.5.3項 「SHOW CHARACTER SETステートメント」、および13.7.5.4項 「SHOW COLLATIONステートメント」を参照してください。

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

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

データベースを作成するときは、ディレクトリとその中のファイルをサーバーに管理させてください。 データベースのディレクトリやファイルを直接操作すると、不整合や予期せぬ結果を引き起こす可能性があります。

MySQL にはデータベースの数に制限はありません。 基礎となるファイルシステムには、ディレクトリの数に制限がある場合があります。

mysqladmin プログラムを使用して、データベースを作成することもできます。 mysqladmin – A MySQL Server Administration Program」(Mysqladmin – A MySQL Server Administration Program) を参照してください。

コメントを残す

メールアドレスが公開されることはありません。