質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

3回答

7166閲覧

MySQL コマンドラインでのSQL実行方法

duster

総合スコア13

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2017/02/28 13:10

MySQL コマンドラインでのSQL実行方法を教えて下さい。

下記、図1のようなDB、SQLを組み、そのSQLをコマンドラインで実行したいと考えております。

MySQL command Line Client 5.7 を立ち上げ、下記のコマンドを入力するのですが、

mysql -u localhost -D test -ppassword < C:\sqltest\testsql.sql
※テストDBのPWはpasswordです。

実行できません。
図2の点線(-------)で囲まれたもののみが表示されるだけです。

outfile disabledはエラーとかかれておりますが、A5SQLでは無事動作しております。
別のSQLファイルで試したものの、outfile disabledは表示されず、点線の間の部分だけ
表示されるのみで結果が表示されません。

コマンドラインでのSQL実行方法を教えて下さい。

===図1===
イメージ説明

===図2===
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

もしかしたらですが、添付の画像からですが、コマンドプロンプト画面でなく、「MySQL 5.7 Command Line Client」 の画面を起動していませんでしょうか?

投稿2017/02/28 15:04

A.Ichi

総合スコア4070

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

duster

2017/02/28 15:10

ご返答頂きありがとうございます。 はい、コマンドラインで実行しようとしております。 そもそもコマンドラインで実行し結果取得は不可能ですか?
A.Ichi

2017/02/28 15:14

MySQL 5.7 Command Line Clientからファイルを実行するのであれば >source C:\sqltest\testsql.sql とするのでは?
duster

2017/02/28 15:20

ERROR 1046 (3D000):No database selected と表示されました。
A.Ichi

2017/02/28 15:27 編集

すみません 最初に use test; わすれてました。
duster

2017/02/28 15:35

ありがとうございます。 無事表示できました。
A.Ichi

2017/02/28 15:39

Windowsメニューで「コマンドプロンプト」を選べば、最初のコマンド mysql ... も実行できると思います。
guest

0

そのSQLファイルにUSEコマンドが入っていないからでは?

mysql -u user -ppass database_name < hoge.sql
としてデータベース名追加して実行するか、

SQLファイルの先頭の行に
USE database_name;
を追加してから
mysql -u user -ppass < hoge.sql
と実行するかです。

投稿2017/02/28 13:18

編集2017/02/28 13:21
turbgraphics200

総合スコア4267

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

duster

2017/02/28 13:31

ご回答頂きありがとうございます。 useコマンドは入れておりませんでした。 今回の場合、 mysql -u localhost -D test -ppassword test < C:\sqltest\testsql.sql となるのですか? 実行してみましても結果は表示されませんでした。 コマンドに不備があればご指摘下さい。
turbgraphics200

2017/02/28 13:40

ユーザー名はlocalhostなのでしょうか?
turbgraphics200

2017/02/28 13:46

ああ、MySQL Command Line Clientをしようしているのですか。すいません、コマンドプロンプトでmysqlコマンドを実行してください。
yambejp

2017/02/28 13:46

それが一番あやしそうですね
turbgraphics200

2017/02/28 13:48

画像見ると、データベース名のように見えますよね。
yambejp

2017/02/28 13:49

-uroot なのかなと
duster

2017/02/28 14:11

色々考えて頂きありがとうございます。 ユーザー名がrootとなりますと、 修正前:mysql -u localhost -D test -ppassword test< C:\sqltest\testsql1.sql 修正後:mysql -u root -D test -ppassword test< C:\sqltest\testsql1.sql となりますが、出力されません。 なにか間違いなどございますか?
duster

2017/02/28 14:32

下記で実行しましたが、表示されませんでした。 mysql -u root -ppassword test< C:\sqltest\testsql.sql なにが原因でしょうか?
guest

0

コマンドラインのmysqlは実用的ではないのでphpMyAdminのUIを
利用するか、odbcなど経由してクライアント用のDBを利用したほうがよいでしょう。

ちなみにuse mydbなどdb選択してますか?

投稿2017/02/28 13:17

yambejp

総合スコア114833

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

duster

2017/02/28 13:28

ご回答頂きありがとうございます。 確かに実用的でないと思いますが、 今回は勉強目的でコマンドラインを使用しております。 DB選択はしておりません。 必要であるならば、私のDBの場合、「use test」となるのですか?
turbgraphics200

2017/02/28 14:42 編集

いや、msql -uroot -ppassword test < xxxxとしているので、コマンドでデータベースは選択しています。そのSQLファイルの各行の最後に;はあります?
turbgraphics200

2017/02/28 14:46

ちなみにいまコマンドプロンプトのプロンプトは MariaDB (dbname)> となっていたら、exitと入力してmysqlから抜けてください。
duster

2017/02/28 15:07

;はあります。 コマンドラインで実行していまして、 MySQL>となっております。
turbgraphics200

2017/02/28 15:12

exitと入力して、MySQLから抜けてください。(プロンプトが C:\xxx >となればOK)
duster

2017/02/28 15:24

exitと入力しましたら、コマンドライン自体のウィンドウが閉じられました。 コマンドプロンプトで実行すると、「’mysql’は内部コマンドまたは外部コマンド、、操作可能なプログラムまたはバッチファイルとして認識されていません」と表示されます。
turbgraphics200

2017/02/28 15:33

そしたら、mysqlコマンドにパスを通すか、コマンドラインクライアントで@A.Ichiさんの方法で実行してみてください。
duster

2017/02/28 15:38

無事@A.Ichiさんの方法で解決致しました。 長い時間、何度もご助言を頂きありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問