2017-02-28 6 views
1

私はテーブルmyTableのカラムa、b、c、dを持っています。クエリを実行したいクエリファイルのMysqldump

SELECT a, b FROM myTable where c in (...) 

結果をダンプします。私は、このクエリをファイルquery.sqlに保存しました。 mysqldumpをファイルに使用して、これらの結果を生成するにはどうすればよいですか?私は、ファイルを使用せずに、ターミナルでクエリを直接書く例を見てきました。 mysqldumpを、カスタムクエリを実行しません

+0

ていますか? – FreedomPride

+0

@FreedomPride linux、centos – Andrew

答えて

1

この機能を使用することができ、それが唯一のオプションの句でselect * from MyTableと同等のものを実行します。あなたはこれを行うことができます:

mysqldump --where 'c in (...)' MyDatabase MyTable > dump.sql 

しかし、テーブルのすべての列を取得するだけでなく、b。

mysqlクライアントを使用してカスタムクエリを実行できますが、mysqldumpのようにSQLではなくCSVテキストが出力されます。

mysql -e 'select a,b from MyTable where c in (...)' MyDatabase > dump.csv 

私は~/.my.cnfファイルでそれらを保つことを好むので、私は--host--user--passwordのような他のオプションを省略しています。

0

あなたはINTO OUTFILE

SELECT a, b FROM myTable where c in (...) 
INTO OUTFILE '/tmp/orders.txt' 
0

あなたはmysqlのCLIを使用することができます...

mysql -e "SELECT a, b FROM myTable where c in (...)" -h[hostname] -u[username] -p[password] [dbname] 

あなたが欲しい場合は、ファイルにそれをリダイレクトしたい場合

:あなたがLinuxまたはWindows

mysql -e "SELECT a, b FROM myTable where c in (...)" -h[hostname] -u[username] -p[password] [dbname] > mydumpfile.txt