在.NET中操作MySQL需先安装MySql.Data驱动,配置连接字符串后使用MySqlConnection建立连接,通过MySqlCommand执行参数化CRUD操作,并用try-catch处理异常,确保安全与稳定。

在.NET环境中连接MySQL数据库并执行增删改查(CRUD)操作,主要依赖于MySQL官方提供的MySql.Data驱动。以下是完整、实用的操作步骤和代码示例,帮助你快速实现数据库交互。
1. 安装MySQL Connector/NET
要让.NET项目支持MySQL,需先安装MySQL官方的.NET驱动:
- 使用NuGet包管理器安装MySql.Data
- 在Visual Studio中打开“工具” → “NuGet包管理器” → “管理解决方案的NuGet程序包”
- 搜索MySql.Data并安装,或使用Package Manager Console运行:
Install-Package MySql.Data
2. 配置数据库连接字符串
在app.config或web.config中添加连接字符串:
connectionString="Server=localhost;Database=testdb;Uid=root;Pwd=yourpassword;" />
或者在代码中直接定义:
string connStr = "Server=localhost;Database=testdb;Uid=root;Pwd=yourpassword;";
3. 建立数据库连接
使用MySqlConnection类创建并打开连接:
using MySql.Data.MySqlClient;
using (var conn = new MySqlConnection(connStr))
{
conn.Open();
// 执行SQL操作
}
建议始终使用using语句确保连接正确释放。
4. 执行CRUD操作示例
假设有一张用户表:users(id, name, email)
插入数据(Create)string sql = "INSERT INTO users (name, email) VALUES (@name, @email)";查询数据(Read)
using var cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "张三");
cmd.Parameters.AddWithValue("@email", "zhangsan@example.com");
int rows = cmd.ExecuteNonQuery();
Console.WriteLine($"插入了 {rows} 行");
string sql = "SELECT id, name, email FROM users";更新数据(Update)
using var cmd = new MySqlCommand(sql, conn);
using var reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"ID: {reader["id"]}, 名字: {reader["name"]}, 邮箱: {reader["email"]}");
}
string sql = "UPDATE users SET email = @email WHERE name = @name";删除数据(Delete)
using var cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@email", "newemail@example.com");
cmd.Parameters.AddWithValue("@name", "张三");
int rows = cmd.ExecuteNonQuery();
Console.WriteLine($"更新了 {rows} 行");
string sql = "DELETE FROM users WHERE name = @name";
using var cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "张三");
int rows = cmd.ExecuteNonQuery();
Console.WriteLine($"删除了 {rows} 行");
5. 使用参数化查询防止SQL注入
所有写入操作都应使用Parameters.AddWithValue()方式传参,避免拼接SQL字符串,有效防止SQL注入攻击。
6. 异常处理建议
数据库操作可能抛出MySqlException,建议包裹在try-catch中:
try基本上就这些。只要安装好驱动、配置好连接、使用参数化命令,就能稳定地在.NET中操作MySQL数据库。实际开发中可结合Dapper或Entity Framework进一步简化操作。
{
conn.Open();
// 执行命令
}
catch (MySqlException ex)
{
Console.WriteLine("数据库错误: " + ex.Message);
}










