4

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

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

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

我想生成 .sql 文件,我可以从 mysql 调用它来加载/插入我导出的数据。如何生成这些 sql 文件?我听说您可以从 mysqldump 调用 select 语句,但没有看到与我一样长的 select 语句的相关示例。

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

非常感谢您的帮助。

4

2 回答 2

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

于 2009-07-22T20:00:09.707 回答
1

mysqldump 每个表都带有一个 where 子句,就像上面丹尼斯所说的那样。一次一张表并将脚本与 cat 合并

cat customer.db order.db list.db price.db > my_new_db.db
于 2009-07-22T20:02:57.177 回答