c#批量插入mysql
时间: 2023-07-03 16:13:26 浏览: 71
您可以使用以下代码来批量插入 MySQL 数据库:
```csharp
using System.Collections.Generic;
using MySql.Data.MySqlClient;
public void BulkInsert(List<MyObject> objects)
{
string connectionString = "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;";
string query = "INSERT INTO MyTable (Column1, Column2, Column3) VALUES ";
List<string> valueStrings = new List<string>();
foreach (MyObject obj in objects)
{
string valueString = $"('{obj.Column1}', '{obj.Column2}', '{obj.Column3}')";
valueStrings.Add(valueString);
}
query += string.Join(",", valueStrings);
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlCommand command = new MySqlCommand(query, connection);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
```
在这个示例中,`MyObject` 是一个自定义类型,包含要插入到数据库的列值。您可以根据需要更改此类型和列名。该方法将所有值连接为单个 SQL 查询,并使用 `ExecuteNonQuery()` 方法执行该查询。请注意,这种方法可能不适用于大量数据,因为它可能会导致内存问题。在这种情况下,您可能需要使用其他方法,例如使用 `SqlBulkCopy` 类或将查询分成多个批次。