如何将mysqldump用于表的一部分?

dat*_*.io 58 mysql mysqldump

所以我只能导出这样一个表:

mysqldump -u root -p db_name table_name > table_name.sql
Run Code Online (Sandbox Code Playgroud)

有没有办法只使用mysqldump导出表的一部分?例如,0 - 1,000,000行,1,000,000 - 2,000,000行等.

我应该使用mysqldump还是查询?

neo*_*ble 117

mysqldump -uroot -p db_name table_name --where='id<1000000'
Run Code Online (Sandbox Code Playgroud)

或者你可以使用

SELECT * INTO OUTFILE 'data_path.sql' from table where id<100000
Run Code Online (Sandbox Code Playgroud)

  • 如果将其用于任何形式的增量备份,为安全起见,请确保包括“ --skip-create-options”和可能的“ --skip-add-drop-table”。否则,您将从任何现有表中删除所有行。 (2认同)
  • 您忘记提及`-t`和`&gt; dump_file_name.dump`,所以应该是这样。mysqldump -t -uroot -p db_name表名-w“ id &lt;1000000”&gt; file_name.dump` (2认同)
  • 如果您需要在 where 子句中使用引号,只需使用双引号: `--where='name="foo"'` (2认同)

小智 5

mysqldump --skip-triggers --compact --no-create-info --user=USER --password=PASSWORD -B DATABASE --tables MY_TABLE --where='SOME_COLUMN>=xxxx' > out.sql
Run Code Online (Sandbox Code Playgroud)