使用MySQLdump进行数据库迁移的子集

时间:2009-07-22 19:52:59

标签: select mysql import mysqldump

我一直在使用mysql和mysqldump教我自己如何从一个数据库中获取数据,但我认为自己是一个温和的MySQL新手,只是为了记录。

我想要做的是将一个数据库的子集放到另一台服务器上的全新数据库中,因此我需要同时创建db / table创建sql以及填充数据记录。 / p>

假设我的原始数据库有10个表,每个表有100行。我的新数据库将有4个表(所有原始列),但每个40行的进一步细化数据集。这40行与一些不那么短的SELECT语句隔离,每个表一个。

我想生成.sql文件,我可以从mysql调用它来加载/插入我导出的数据。我该如何生成那些sql文件?我很高兴您可以从mysqldump调用select语句,但是只要我的选择语句没有看到相关的例子。

现在我可以生成sql输出,它只是使用列名设置的结果,但没有插入代码等。

非常感谢帮助。

2 个答案:

答案 0 :(得分:9)

您可能必须使用mysqldump一次转储一个表并使用where子句

-w, - where ='where-condition'

Dump only selected records. Note that quotes are mandatory:
"--where=user='jimf'" "-wuserid>1" "-wuserid<1"

例如:

mysqldump database1 table1 --where='rowid<10'

请参阅文档:http://linux.die.net/man/1/mysqldump

答案 1 :(得分:1)

mysqldump每个表都有一个像Dennis上面所说的where子句。一次一个表并将脚本与cat合并

cat customer.db order.db list.db price.db > my_new_db.db