mysqldump最近的记录

时间:2011-01-12 00:53:12

标签: mysql

mysqldump(或其他一些命令)是否有选项只能转储最近更新的行?我无法在文档中找到任何关于此的内容。 THX。

4 个答案:

答案 0 :(得分:6)

您可以使用--where选项为mysqldump提供where子句。因此,如果您的表中有一个名为“modified”的列,并且您希望在过去2小时内修改所有行,则可以执行以下操作:

mysqldump my_schema my_table --where="modified > now() - interval 2 hour"

答案 1 :(得分:1)

使用“into outfile”语法:

SELECT * FROM table INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
WHERE timestamp > ?

然后,如有必要,您可以使用以下方法导入:

LOAD DATA INFILE '/tmp/result.txt' INTO table
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'

MySQL网站上的文档:

http://dev.mysql.com/doc/refman/5.5/en/select.html

http://dev.mysql.com/doc/refman/5.5/en/load-data.html

答案 2 :(得分:0)

来自mysqldump手册页:

- where ='where_condition', - w'where_condition'

       Dump only rows selected by the given WHERE condition. Quotes around the condition are mandatory if it contains spaces or other characters that are special to your
       command interpreter.

       Examples:

           --where="user=´jimf´"
           -w"userid>1"
           -w"userid<1"

答案 3 :(得分:0)

定义所需查询的视图。然后在视图上使用mysqldump。