web-dev-qa-db-ja.com

テーブルの一部にmysqldumpを使用する方法は?

したがって、次のようなテーブルのみをエクスポートできます。

mysqldump -u root -p db_name table_name > table_name.sql

Mysqldumpでテーブルの一部のみをエクスポートする方法はありますか?たとえば、0〜1,000,000行、1,000,000〜2,000,000行など。

mysqldumpまたはクエリでこれを行う必要がありますか?

58
datasn.io
mysqldump -uroot -p db_name table_name --where='id<1000000'

または使用できます

SELECT * INTO OUTFILE 'data_path.sql' from table where id<100000
116
Neo
mysqldump --skip-triggers --compact --no-create-info --user=USER --password=PASSWORD -B DATABASE --tables MY_TABLE --where='SOME_COLUMN>=xxxx' > out.sql
3
noisex

ダンプされるファイルは、SQL selectを使用するファイルとは異なります。 2番目のアプローチでは、単にmysql database <tableを使用してテーブルをデータベースにダンプすることはできません。

2
user2755358
mysqldump -uroot -p db_name table_name --where'id<1000000' > yourdumpname.sql
0
sadanand patel

私の場合、これを実行しました:

SELECT * 
  INTO OUTFILE 'C:\Documents and Settings\Anton.Zarkov\Desktop\joomla_export\data_AZ.sql'
  FROM `jos_glossary`
 WHERE id>6000
  • 構文エラーはありません-クエリは通過します。
    1. 結果はNULL-行は書き込まれませんでした。 (確かに-最後のIDは6458です)
    2. クエリan error occurs => #1086 - File 'C:Documents and SettingsAnton.ZarkovDesktopjoomla_exportdata_AZ.sql' already existsを繰り返した場合
    3. 残念ながら、ディスクCのどこにも「既存の」ファイルが見つかりません。どこにありますか?

phpMyAdmin SQL Dump; version 3.4.5; Host:localhost; server version:5.5.16; PHP version:5.3.8

0
Anton Zarkov

以下のクエリでは、date_createdまたはidの代わりにanyを使用できるID範囲から選択します

mysqldump --opt --Host=dns --user=user_name --password=your_passwd db_name --tables table_name  --where "id > 1 and id < 100 " > /file_name.sql

例:--where="date_created > '2019-01-18' "-> idのinsted

0
sachin_ur