デフォルトでは 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リファレンスマニュアル をご覧ください。