mysql クライアントは、通常次のようにインタラクティブに使用されます。
shell> mysql db_name
しかし、SQL ステートメントをファイルに入れ、mysql にその入力をファイルから読み取るように指示することも可能です。 そのためには、実行するステートメントを含む text_file
を作成します。 それから、次に示されるように mysql を起動します。
shell> mysql db_name < text_file
ファイルの最初のステートメントとして USE
ステートメントを配置する場合、コマンド行でデータベース名を指定する必要はありません。
db_name
shell> mysql < text_file
mysql がすでに稼働している場合は、source
コマンドまたは \.
コマンドを使用して SQL スクリプトファイルを実行できます。
mysql> source file_name
mysql> \. file_name
スクリプトでユーザーに進行状況を表示する場合があります。 このためには、次のステートメントを挿入できます。
SELECT '<info_to_display>' AS ' ';
示されたステートメントは <info_to_display>
を出力します。
また、--verbose
オプションを付けて mysql を呼び出すこともでき、生成される結果の前に各ステートメントが表示されるようになります。
mysql は、入力ファイルの先頭にある Unicode バイト順マーク (BOM) 文字を無視します。 以前は、それらを読み取ってサーバーに送信していたため、構文エラーが発生していました。 BOM が存在しても、mysql はデフォルトの文字セットを変更しません。 これを行うには、--default-character-set=utf8
などのオプションを付けて mysql を呼び出します。
バッチモードの詳細は、セクション3.5「バッチモードでの MySQL の使用」を参照してください。