在MySql中等效的SqlBulkCopy?

我更习惯SQL Server,我想知道在MySql中我是否可以找到类似于SqlBulkCopy的东西。 我有一个用WPF / Silverlight和C#编写的数据编辑器,使用Connector / NET连接到MySql服务器,我应该在编辑器中提供一个函数来完成一些MySql数据库的完整备份。 我没有直接访问服务器,所以我不能使用转储或其他命令行工具。

那么通过Connector只使用C#代码转储整个数据库的最佳方法是什么? 我只需要使用自己的SQL查询将数据大量导出为XML,CSV等,或者是否有任何建议的方法来执行此类任务?

SELECT INTO OUTFILE是执行此操作的标准方法,但它只能将数据转储到服务器的本地文件系统。 如果您无权访问服务器,则无法访问转储文件。

我建议结合使用

SHOW CREATE TABLE XXXX检索表sql,以及某种forms的SELECT * FROM XXXX来检索数据。 Maatkit工具可能有用作参考。 你可以搞清楚它在做什么并复制SQL:

http://www.maatkit.org/doc/mk-archiver.html

听起来像MySQL LOAD DATA可能就是你想要的。 请参阅此处的文档 。

您也可以使用OUTFILE (来自同一个doc页面),例如:

 SELECT * INTO OUTFILE 'somefile.txt' FIELDS TERMINATED BY ',' FROM your_table;