• ベストアンサー

ファイルから直接SQLを実行するコマンドを教えてください。

SQL文を書いて保存してある C:\SQL\abc.sql というファイルがあるとします。 これを直接実行したいんですが、どういうコマンドを打てば良いのかわかりません。 誰かわかる方は教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#240783
noname#240783
回答No.2

> そのため、ファイルのフルパスでファイル名を指定しないといけないんです。 そーなんです、私の勘違いでした。私のバージョンは3.23.49ですが、 今試してみたら、同様にscriptsフォルダにおいても通ってくれませんでした。 どうも、このscriptsフォルダはperlなどの「スクリプト」を置く場所の ようです。フルパス指定でお願いします、タハハ。 なお、\. コマンドは正式には source <ファイル名>です。 (なんちって、聞かれてもいない事で話をそらそうとしたりして...)

kamkamkam3
質問者

お礼

どうもありがとうございます。 フルパス指定じゃないと駄目なんですね。やはり。 書籍などをみても、方法が書いていないので、やはりMySQLは基本的にコマンドラインから打つのがいいみたいですね。 やはり、Oracleなどと比べるとそういう面では落ちますね。 でも、フルパスでも一応やり方がわかっただけ、本当にうれしいです。どうもありがとうございました。またよろしくお願いします。

その他の回答 (1)

noname#240783
noname#240783
回答No.1

MySQLではスクリプトロードは \. <ファイル名> (円マーク+ピリオド+スペース+<ファイル名>) です。 動作しない時は、*.sqlファイルを mysql\scripts フォルダに 置きなおして実行するとうまくいく場合があります。

kamkamkam3
質問者

お礼

どうもありがとうございました。 とても丁寧で親切な回答のおかげさまで、一発でできました。今まで、ずーと疑問に思っていたんですが、ようやくわかりました。本当にうれしいです。 甘えてしまって申し訳ないのですが、僕のMySQLはヴァージョンが3.23.39なのですが、scriptsフォルダがありません。そのため、ファイルのフルパスでファイル名を指定しないといけないんです。ためしにmysql\scriptsフォルダを作成しその中にファイルを置いてコマンドを打ってみたんですが、駄目でした。 MySQL3.23.39の*.sqlファイルを置く場所っていうのはないんでしょうか?もしわかるようでしたら、ご返事ください。よろしくお願いします。

関連するQ&A