在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:
听起来像MySQL LOAD DATA
可能就是你想要的。 请参阅此处的文档 。
您也可以使用OUTFILE
(来自同一个doc页面),例如:
SELECT * INTO OUTFILE 'somefile.txt' FIELDS TERMINATED BY ',' FROM your_table;