使用SQL命令将MySQL表转储为XML(如postgresql中的table_to_xml()或query_to_xml()?)

有没有办法检索查询结果/或将整个表转储成XML片段,可以使用XML查询检索?我知道PostgreSQL(9.0), table_to_xml()query_to_xml()之类的东西是这样的。

我也知道 mysqldump --xml 可以导出XML,但我确实寻找允许我发出简单查询的东西。我正在处理的应用程序应该允许一些用户将某个表转储到他们机器上的XML文件中,因此我需要发出一个查询并获取一个String或者其他东西(MySQL中是否有XML类型?)。

我需要结果是XML和查询的结果集,而不是服务器上的文件或其他东西。

0
额外 编辑
意见: 2
额外 作者 Matthew Strawbridge,

3 答案

INTO OUTFILE will dump the results to an xml file, so you could then send that to a client.

1
额外
是啊,我认为你是对的 - 我读错了一些文章,但是他们使用了一些自定义函数,或者mysql命令行选项 -X
额外 作者 Cylindric,
我需要结果是查询的结果集,而不是服务器上的文件。顺便说一句,我以为INTO OUTFILE会转储CSV吗?
额外 作者 scravy,

导致类似于单个表的MySQL转储的SQL脚本的查询将包含三个部分:

  1. SHOW CREATE TABLE tblname - to generate CREATE TABLE statement.
  2. DESCRIBE tblname - to retrieve column names for the construction of INTO(...) part of the INSERT queries.
  3. SELECT * FROM tblname - to retrieve values for the construction of VALUES(...) part of the INSERT queries. Each row in the result set will correspond to an INSERT statement. INSERT statements will be generated in the loop handling the result set.

如果要从MySQL完成,可以将其包装到存储过程中。

0
额外
对不起,我需要XML中的结果,正如问题中明确指出的那样。
额外 作者 scravy,