MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  テキストファイルから SQL ステートメントを実行する

4.5.1.5 テキストファイルから SQL ステートメントを実行する

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 の使用」を参照してください。


関連キーワード:  プログラム, サーバー, ステートメント, 表示, コマンド, テーブル, myisamchk, 接続, 情報, 起動