web-dev-qa-db-ja.com

照会によるMySQLダンプ

単一のSQL querymysqldumpを実行することは可能ですか?

phpmyadminにエクスポートするときにSQLが実行するように、全体データベースをダンプすることを意味します。

203
Jakub Arnold

mysqldumpではなくmysql cli ...

mysql -e "select * from myTable" -u myuser -pxxxxxxxxx mydatabase

必要に応じてファイルにリダイレクトすることができます。

mysql -e "select * from myTable" -u myuser -pxxxxxxxx mydatabase > mydumpfile.txt

更新日:元の投稿は、彼が照会によってデータベースからダンプできるかどうか尋ねました。彼が尋ねたことと彼が意味したことは異なっていました。彼は本当にすべてのテーブルをmysqldumpしたいだけでした。

mysqldump --tables myTable --where="id < 1000"
260
Zak

これはうまくいくはずです

mysqldump --databases X --tables Y --where="1 limit 1000000"
243
Thomas Ahle

このようにcsvとしてクエリをダンプできます。

SELECT * from myTable
INTO OUTFILE '/tmp/querydump.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
67
Guy

Whereクエリを使ってテーブルをダンプします。

mysqldump mydatabase mytable --where="mycolumn = myvalue" --no-create-info > data.sql

テーブル全体をダンプします。

mysqldump mydatabase mytable > data.sql

ノート:

  • mydatabasemytable、およびwhereステートメントを希望の値に置き換えます。
  • デフォルトでは、mysqldumpはその出力にDROP TABLEおよびCREATE TABLEステートメントを含めます。したがって、保存したデータファイルから復元するときにテーブル内のすべてのデータを削除するのではなくを使用する場合は、必ず--no-create-infoオプションを使用してください。
  • 目的のデータベースホスト、ユーザー、およびパスワードをそれぞれ指定するために、適切な-h-u、および-pオプションを上記のコマンド例にそれぞれ追加する必要があります。
56
Gary

Mysqldumpの--whereオプションを使用して、待っている出力を生成できます。

mysqldump -u root -p test t1 --where="1=1 limit 100" > arquivo.sql

Test.t1から最大100行がデータベーステーブルからダンプされます。

乾杯、WB

37
Wagner Bianchi

最後のn個のレコードをファイルにエクスポートしたい場合は、次のようにします。

mysqldump -u user -p -h localhost --where "1=1 ORDER BY id DESC LIMIT 100" database table > export_file.sql

上記は、エクスポート元のテーブルに自動インクリメントされたid列があると仮定して、最後の100レコードをexport_file.sqlに保存します。

ユーザー、ローカルホスト、データベース、テーブルの値を変更する必要があります。オプションで、id列とエクスポートファイル名を変更することができます。

5
AUllah1

ここに上記の多くを組み合わせることは私の本当の実際的な例です。そして、メートルとタイムスタンプの両方に基づいて記録を選びます。私はこの命令を何年も必要としてきました。本当に速く実行されます。

mysqldump -uuser -ppassword main_dbo trHourly --where="MeterID =5406 AND TIMESTAMP<'2014-10-13 05:00:00'" --no-create-info --skip-extended-insert | grep  '^INSERT' > 5406.sql
3
zzapper

MySQL WorkbenchのGUIにもこの機能があります。クエリを実行し、エクスポート/インポートの横にある保存アイコンをクリックします。

enter image description here

次に、リストから「SQL INSERTステートメント(* .sql)」を選択してください。

enter image description here

名前を入力して[保存]をクリックし、テーブル名を確認するとダンプファイルが作成されます。

2
MPelletier