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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

3696閲覧

バッチファイル(シェルスクリプト)でのSQL文の実行について

tarou_t

総合スコア15

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2015/08/31 09:39

バッチファイル(シェルスクリプト)にてVMのにアクセスしSQLよりデータを参照したいのですが、下記の書き方だSSL認証した後の処理が実行されません。SQL文を実行させたいのですがどのように記載したらいいでしょうか。シェルになれてない為お手数ですがご教示お願いいたします。

#!/bin/sh

host=xxxxxxxxx
id=root
pass=xxxxxx

expect -c "
set timeout 5
spawn ssh ${id}@${host}
expect "${id}@${host}'s password:" {
send "${pass}\n"
}
interact
"
$ mysql -u root -p << END_OF_INPUT
xxxxxx #SQLのパスワード
use mydb;
show TABLES;
END_OF_INPUT

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

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

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

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

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

guest

回答2

0

いえいえ、似たような事をやった記憶があったので。
参考になれば幸いです。

投稿2015/09/01 00:53

anonymouskawa

総合スコア856

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

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

anonymouskawa

2015/09/01 00:54

コメントのつもりが回答に書いてしまった…
tarou_t

2015/09/03 00:41

selectで抽出したデータを使いたいのですが、それは可能でしょうか? 何がしたいかと言うとselectで抽出したデータを並び替えて対象のメールを送りたいです。
anonymouskawa

2015/09/03 04:41

sshの先でシェルファイルを作って それを呼び出す形が良いでしょう。
tarou_t

2015/09/03 05:17

度々すいません。 ご連絡頂いた記載で下記SQLを入力すうるとシングルクォーテーションのせいかうまく動きません。シングルクォーテーションの前に”\”を試したのでうがダメでした。解決策がお分かりになりましたらご教示頂けないでしょうか。 INTO OUTFILE '/Desktop/test/test.csv' FIELDS TERMINATED BY ',';
anonymouskawa

2015/09/03 11:46

新規質問のほうに回答しました。
guest

0

ベストアンサー

#!/bin/sh host=xxxxxxxxx id=root pass=xxxxxx expect -c " set timeout 5 spawn ssh ${id}@${host} expect \"${id}@${host}'s password:\" { send \"${pass}\n\" } expect \"Last login\" send \"mysql -u root -pxxxxxx -Dmydb -e \'show tables\' \n\" interact "

これで動くはずです

投稿2015/08/31 10:18

anonymouskawa

総合スコア856

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

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

tarou_t

2015/09/01 00:49

テーブル表示されました。度々回答いただき助かりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問