TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码

.NET如何连接MySQL数据库并执行CRUD操作

2025-12-21
/
0 评论
/
37 阅读
/
正在检测是否收录...
12/21

正文:

在.NET开发中,MySQL作为一种流行的开源数据库,常被用于存储和管理数据。本文将手把手教你如何通过.NET连接MySQL数据库,并实现基础的CRUD(创建、读取、更新、删除)操作。


1. 准备工作

在开始之前,确保你的开发环境已安装以下组件:
- .NET SDK(推荐5.0或更高版本)
- MySQL数据库(本地或远程均可)
- MySQL Connector/NET(官方提供的.NET驱动程序)

通过NuGet安装MySQL驱动:
bash Install-Package MySql.Data


2. 连接MySQL数据库

首先,我们需要建立与MySQL的连接。以下是连接字符串的典型格式:

string connectionString = "server=localhost;user=root;password=123456;database=testdb;";

通过MySqlConnection类创建连接对象:

using MySql.Data.MySqlClient;

try 
{
    using (MySqlConnection connection = new MySqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("连接成功!");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"连接失败:{ex.Message}");
}


3. 执行CRUD操作

3.1 插入数据(Create)

向表中插入一条记录:

string sql = "INSERT INTO Users (Name, Email) VALUES (@Name, @Email)";
using (MySqlCommand command = new MySqlCommand(sql, connection))
{
    command.Parameters.AddWithValue("@Name", "张三");
    command.Parameters.AddWithValue("@Email", "zhangsan@example.com");
    int rowsAffected = command.ExecuteNonQuery();
    Console.WriteLine($"插入了 {rowsAffected} 行数据。");
}

3.2 查询数据(Read)

查询表中的所有记录:

string sql = "SELECT * FROM Users";
using (MySqlCommand command = new MySqlCommand(sql, connection))
{
    using (MySqlDataReader reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}");
        }
    }
}

3.3 更新数据(Update)

修改指定ID的用户信息:

string sql = "UPDATE Users SET Email = @NewEmail WHERE Id = @Id";
using (MySqlCommand command = new MySqlCommand(sql, connection))
{
    command.Parameters.AddWithValue("@NewEmail", "new@example.com");
    command.Parameters.AddWithValue("@Id", 1);
    int rowsAffected = command.ExecuteNonQuery();
    Console.WriteLine($"更新了 {rowsAffected} 行数据。");
}

3.4 删除数据(Delete)

删除指定ID的用户:

string sql = "DELETE FROM Users WHERE Id = @Id";
using (MySqlCommand command = new MySqlCommand(sql, connection))
{
    command.Parameters.AddWithValue("@Id", 1);
    int rowsAffected = command.ExecuteNonQuery();
    Console.WriteLine($"删除了 {rowsAffected} 行数据。");
}


4. 注意事项

  1. 参数化查询:务必使用Parameters防止SQL注入。
  2. 资源释放:通过using语句确保连接和命令对象自动释放。
  3. 异常处理:捕获MySqlException以处理数据库特有的错误。


5. 总结

动手试一试吧!遇到问题欢迎在评论区交流。

朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/42097/(转载时请注明本文出处及文章链接)

评论 (0)
37,548 文章数
92 评论量

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月