在我的 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/