C# Asp .core 连接 MySQL

MySQL是一个流行的关系型数据库管理系统,而C# Asp .core是一个用于构建Web应用程序的框架。本文将介绍如何使用C# Asp .core来连接MySQL数据库,并提供代码示例。

准备工作

在开始之前,确保已经安装了以下软件:

  • MySQL数据库
  • Visual Studio或者其他C#开发环境

连接MySQL数据库

首先,我们需要在C# Asp .core项目中安装MySQL数据库驱动程序。打开Visual Studio,创建一个新的C# Asp .core项目,然后打开项目的控制台。

使用NuGet包管理器,搜索并安装MySql.Data包。这个包将提供与MySQL数据库的连接和交互功能。

1. 打开 Visual Studio
2. 创建一个新的 C# Asp .core 项目
3. 打开项目的控制台
4. 使用 NuGet 包管理器搜索并安装 MySql.Data 包

完成上述步骤后,我们可以开始编写代码连接MySQL数据库。

连接数据库

要连接MySQL数据库,我们需要提供数据库的连接字符串。连接字符串包含了数据库的地址、用户名、密码等必要信息。

在C# Asp .core项目中,可以将连接字符串存储在配置文件中,比如appsettings.json。在这个文件中,我们可以定义一个名为ConnectionStrings的节,然后将连接字符串作为一个键值对进行存储。

"ConnectionStrings": {
  "DefaultConnection": "server=localhost;username=root;password=123456;database=mydatabase"
}

现在,我们可以在代码中读取这个连接字符串,并使用它来连接MySQL数据库。

using Microsoft.Extensions.Configuration;
using MySql.Data.MySqlClient;

// 读取 appsettings.json 文件中的连接字符串
var configuration = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json")
    .Build();
string connectionString = configuration.GetConnectionString("DefaultConnection");

// 创建 MySQL 数据库连接
using MySqlConnection connection = new MySqlConnection(connectionString);

// 打开数据库连接
connection.Open();

// 连接已经建立,可以进行数据库操作

// 关闭数据库连接
connection.Close();

上述代码使用ConfigurationBuilder来读取appsettings.json文件中的连接字符串。然后,使用MySqlConnection类创建一个MySQL数据库连接对象。最后,通过调用OpenClose方法来打开和关闭数据库连接。

执行SQL查询

一旦连接到MySQL数据库,我们可以执行SQL查询来操作数据库。

下面的示例展示了如何执行一个简单的SELECT查询,并将结果输出到控制台。

using (var command = new MySqlCommand("SELECT * FROM customers", connection))
{
    using (var reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            int id = reader.GetInt32("id");
            string name = reader.GetString("name");
            string email = reader.GetString("email");

            Console.WriteLine($"ID: {id}, Name: {name}, Email: {email}");
        }
    }
}

上述代码使用MySqlCommand对象来执行SQL查询。然后,使用MySqlDataReader对象读取查询结果。在循环中,我们可以使用不同的方法来读取不同类型的数据,比如GetInt32GetString

插入数据

要向MySQL数据库插入数据,我们可以执行一个INSERT语句。

string sql = "INSERT INTO customers (name, email) VALUES (@name, @email)";

using (var command = new MySqlCommand(sql, connection))
{
    command.Parameters.AddWithValue("@name", "John Doe");
    command.Parameters.AddWithValue("@email", "john@example.com");

    int rowsAffected = command.ExecuteNonQuery();

    Console.WriteLine($"Rows affected: {rowsAffected}");
}

上述代码使用MySqlCommand对象执行一个INSERT语句。我们可以使用Parameters.AddWithValue方法来添加参数,并将其绑定到SQL语句中的占位符。最后,通过调用ExecuteNonQuery方法来执行INSERT语句,并获取受影响的行数。

更新数据

如果我们想要更新MySQL数据库中的数据,可以执行一个UPDATE语句。

string sql = "UPDATE customers SET email = @newEmail WHERE email = @oldEmail";

using (var command = new MySqlCommand(sql, connection))
{
    command.Parameters.AddWithValue("@newEmail", "johndoe@example.com");
    command.Parameters.AddWithValue("@oldEmail", "john@example.com");

    int rowsAffected = command.ExecuteNonQuery();