这与另一个问题(http://stackoverflow.com/questions/935556/mysql-dump-by-query)相似,但我希望不同。
我想从db表中导出特定项目,以便我可以备份它以便将来恢复。
我已经在另一张桌子上使用过这样的东西......
mysqldump --user="user" --password="password" --opt -w"id=1" databasebname tablename
但现在我需要更复杂的东西。
我需要使用以下查询来生成导出数据...
SELECT tbl2.*
FROM tbl1, tbl2
WHERE tbl2.parent = tbl1.child
AND tbl1.id = 1
我可以使用mysqldump吗?
或者我需要考虑不同的方法吗?
(如果有帮助,这一切都是在bash脚本中完成的)
答案 0 :(得分:2)
我认为这将实现您的目标:
SELECT tbl2.*
FROM tbl1, tbl2
WHERE tbl2.parent = tbl1.child
AND tbl1.id = 1
INTO OUTFILE '/path/to/file.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
这会将您的数据保存为CSV文件。您还可以保存为其他格式。我从here
回来找到了一个关于这个主题的有用教程答案 1 :(得分:1)
您可以正常执行select语句,然后添加到结尾
INTO OUTPUT FILE'path / to / file'
该文件稍后可以与LOAD DATA命令一起用作备份。
当然,如果是我,我会感觉更好,只是倾倒整张桌子。