当前位置:首页 > 行业动态 > 正文

c#操纵mysql数据库

C#操纵MySQL数据库需先引用MySql.Data.dll,安装NuGet程序包,创建连接工具类并编写代码实现增删改查等功能,还可通过配置连接字符串,利用MySqlHelper类或DBUtility类库辅助操作。

在C#中操纵MySQL数据库,通常需要使用相关的数据库连接和操作库,以下是详细的步骤和示例代码:

一、引入必要的命名空间

在使用C#操作MySQL数据库之前,需要确保项目中已经添加了对MySql.Data库的引用,这个库可以通过NuGet包管理器进行安装,安装完成后,需要在代码文件的顶部引入以下命名空间:

using System;
using MySql.Data.MySqlClient;

二、建立数据库连接

要与MySQL数据库进行交互,首先需要创建一个数据库连接对象,可以使用MySqlConnection类来创建这个连接对象,并指定连接字符串,连接字符串通常包含服务器地址、数据库名称、用户名和密码等信息。

c#操纵mysql数据库

string connectionString = "Server=localhost;Database=testdb;User Id=root;Password=123456;";
MySqlConnection connection = new MySqlConnection(connectionString);

三、执行SQL查询

创建好连接对象后,可以使用MySqlCommand类来执行SQL查询,以下是一个简单的示例,演示如何执行一个查询并读取结果:

try
{
    connection.Open(); // 打开连接
    string query = "SELECT * FROM users"; // SQL查询语句
    MySqlCommand command = new MySqlCommand(query, connection); // 创建命令对象
    MySqlDataReader reader = command.ExecuteReader(); // 执行查询并返回数据读取器
    // 遍历结果集
    while (reader.Read())
    {
        Console.WriteLine("User ID: {0}, Name: {1}", reader["id"], reader["name"]);
    }
    reader.Close(); // 关闭数据读取器
}
catch (Exception ex)
{
    Console.WriteLine("Error: " + ex.Message);
}
finally
{
    if (connection != null)
    {
        connection.Close(); // 关闭连接
    }
}

四、插入、更新和删除数据

除了查询数据外,还可以使用MySqlCommand类来执行插入、更新和删除操作,以下是一些示例代码:

c#操纵mysql数据库

插入数据

try
{
    connection.Open();
    string insertQuery = "INSERT INTO users (name, age) VALUES (@name, @age)";
    MySqlCommand insertCommand = new MySqlCommand(insertQuery, connection);
    insertCommand.Parameters.AddWithValue("@name", "John Doe");
    insertCommand.Parameters.AddWithValue("@age", 30);
    insertCommand.ExecuteNonQuery(); // 执行插入操作
}
catch (Exception ex)
{
    Console.WriteLine("Error: " + ex.Message);
}
finally
{
    if (connection != null)
    {
        connection.Close();
    }
}

更新数据

c#操纵mysql数据库

try
{
    connection.Open();
    string updateQuery = "UPDATE users SET age = @age WHERE id = @id";
    MySqlCommand updateCommand = new MySqlCommand(updateQuery, connection);
    updateCommand.Parameters.AddWithValue("@age", 31);
    updateCommand.Parameters.AddWithValue("@id", 1);
    updateCommand.ExecuteNonQuery(); // 执行更新操作
}
catch (Exception ex)
{
    Console.WriteLine("Error: " + ex.Message);
}
finally
{
    if (connection != null)
    {
        connection.Close();
    }
}

删除数据

try
{
    connection.Open();
    string deleteQuery = "DELETE FROM users WHERE id = @id";
    MySqlCommand deleteCommand = new MySqlCommand(deleteQuery, connection);
    deleteCommand.Parameters.AddWithValue("@id", 1);
    deleteCommand.ExecuteNonQuery(); // 执行删除操作
}
catch (Exception ex)
{
    Console.WriteLine("Error: " + ex.Message);
}
finally
{