c# - 使用 C# 将选定值从 CSV 文件导入 MySql 数据库的最快方法

标签 c# mysql csv

在我的 C# 应用程序中,我希望从 CSV 文件中获取每种产品的日终数量,并将其输入到 MySQL 表中。我遇到的问题是每天都有一个单独的 CSV 文件,我需要收集一年的数据。除此之外,我只需要前两列,即 StockNo 和 Qty,其余的都已过时。

我尝试过使用 CSVReader,但该过程需要很长时间才能完成。

是否有一种快速方法可以让我获取需要插入数据库的数据?

提前谢谢您。

最佳答案

一个非常快速的方法是使用在 mysql 中工作的 LOAD INFILE。看看mysql文档https://dev.mysql.com/doc/refman/5.7/en/load-data.html 例如

LOAD DATA LOCAL
    INFILE '/homeimport.csv'
    REPLACE
    INTO TABLE tabellenname
    FIELDS
            TERMINATED BY ';'
            OPTIONALLY ENCLOSED BY '"';

编辑

您可以构建这样的查询以在 C# 中执行

conn = new MySqlConnection(connectionString);
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd = conn.CreateCommand();
string tableName = "Table1"
string query = "LOAD DATA INFILE '" + fileName + "'INTO TABLE "+ tableName 
+" FIELDS TERMINATED BY '"+colSep+"' ENCLOSED BY '"+colEncap+"' ESCAPED BY 
'"+colEncap+"'LINES TERMINATED BY '"+colNewLine+"' ("+colUpFormat+");";
cmd.CommandText = query;
cmd.ExecuteNonQuery();
conn.Close();

关于c# - 使用 C# 将选定值从 CSV 文件导入 MySql 数据库的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44261068/

相关文章:

c# - 使用 HTML Agility 捕获 Web 浏览器显示页面 HTML 源代码

c# - Entity Framework 、存储过程和导航属性

mysql - 这个sql不存在是什么意思?

c# - 未在本地主机上运行时无法连接到数据库

java - 如何在CSV解析后根据一定的规则连接字符串 - 逐行

c# - 获取所有打开的 Excel 文档

c# - 为什么我不能在 Visual Studio 2012 上使用 CodeFirst 创建数据库?

php - 仅当字段的旧值与新值不匹配时才使用 CASE 语句更新 MySQL 记录?

Python 多核 CSV 短程序,需要建议/帮助

r - 估计 Yeo 和 Johnson 变换的 Lambda