デフォルトでは mysqldump
常にCREATE DATABASE IF NOT EXISTS db_name;
を作成します ダンプファイルの先頭にあるステートメント。
[編集 ] mysqldump
に関するいくつかのこと ファイルとそのオプション:
--all-databases
、-A
すべてのデータベースのすべてのテーブルをダンプします。これは、--databases
を使用するのと同じです。 オプションを選択し、コマンドラインですべてのデータベースに名前を付けます。
--add-drop-database
DROP DATABASE
を追加します 各CREATE DATABASE
の前のステートメント 声明。このオプションは通常、--all-databases
と組み合わせて使用されます または--databases
CREATE DATABASE
がないためオプション これらのオプションのいずれかが指定されていない限り、ステートメントが書き込まれます。
--databases
、-B
いくつかのデータベースをダンプします。通常、mysqldump
コマンドラインの名引数をデータベース名として扱い、後続の名前をテーブル名として扱います。このオプションを使用すると、すべての名前引数がデータベース名として扱われます。 CREATE DATABASE
およびUSE
ステートメントは、新しい各データベースの前に出力に含まれます。
--no-create-db
、-n
このオプションは、CREATE DATABASE
を抑制します --databases
の場合、出力に含まれるステートメント または--all-databases
オプションが与えられます。
少し前に、ファイルの先頭にそのようなステートメントがないことについて実際に尋ねる同様の質問がありました(XMLファイルの場合)。その質問へのリンク
だからあなたの質問に答えるために:
- ダンプするデータベースが1つある場合は、
--add-drop-database
が必要です。mysqldump
のオプション ステートメント。 - ダンプするデータベースが複数ある場合は、オプション
--databases
を使用する必要があります または--all-databases
およびCREATE DATABASE
構文は自動的に追加されます
詳細については、MySQLリファレンスマニュアル をご覧ください。