2009-10-21 10 views

答えて

108
mysql -u <user> -p -e "select * from schema.table" 
+1

C:\プログラムファイル(x86の)\ MySQLの\ MySQLサーバ5.7 \ binに> mysql.exe - "root" -p -e "my query" ----> ERROR 1045(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワード:YESを使用) –

+0

これはgoogle検索の最初の結果です"mysql exec sql from command line")と巨大なmysqlサイトではありません! –

+0

私は二重引用符が私のために働いていなかった理由を知らないので、それらを一重引用符に変えなければなりませんでした – tinybyte

2
echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production 
8
mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;" 

:たとえば

、直感的に、私はそれが何かを行くと想像

-e--execute=name
幹部uteコマンドを実行して終了します。 (無効--forceと履歴ファイル)

5

はここにあなたがクールなシェルトリックでそれを行うことができます方法は次のとおりです。

mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users' 

「< < <」に類似した標準入力、としてそれを次のものは何でも取るためにシェルに指示しますエコーからの配管。

は、それはあなたが頻繁に実行するクエリの場合、あなたはそれをファイルに保存することができ、テーブル形式の出力

5

を有効にするには、-tフラグを使用します。そして、いつでもあなたがrun itしたい:

mysql < thefile 

(もちろん、すべてのログインとデータベースのフラグ付き)

関連する問題