C#连接Mysql数据库 命令

在 C# 中连接 MySQL 数据库,需要使用 MySQL 提供的官方数据访问组件MySqlConnector(推荐)或MySql.Data(旧版)。以下是详细的连接步骤和示例:

1. 安装 MySQL 数据访问组件

首先需要通过 NuGet 包管理器安装 MySQL 连接库:

# 使用NuGet包管理器控制台
Install-Package MySqlConnector

或在.csproj文件中添加引用:

<PackageReference Include="MySqlConnector" Version="2.3.11" />

也可以使用手动安装,

打开Visual Studio 2020软件,选择对应需要连接Msyql数据库的项目

选择解决方案的引用

选择添加管理程NuGet序包,

搜索MySqlConnector,程序包

点击右上角进行下载

等待一会,就完成了

在已安装这里就可以找到了,就可以进行,对应链接Mysql数据库的命令的编写了

输入下面的代码进行连接,一定要注意账号和密码

链接代码:

using System;
using MySqlConnector;  // 使用MySqlConnector命名空间
​
class Program
{
    static void Main()
    {
        string connectionString = "Server=localhost;Database=testdb;Uid=root;Pwd=yourpassword;";
​
        try
        {
            // 创建并打开数据库连接
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                connection.Open();
                Console.WriteLine("MySQL连接成功!");
            }
        }
        catch (MySqlException ex)
        {
            Console.WriteLine($"MySQL错误: {ex.Message}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"其他错误: {ex.Message}");
        }
    }
}

出现下面页面,即连接成功

2. 构建数据库连接字符串

连接字符串包含服务器地址、数据库名、用户名和密码等信息。示例如下:

string connectionString = "Server=localhost;Database=yourdatabase;Uid=yourusername;Pwd=yourpassword;";

常用参数说明:

  • Server:MySQL 服务器地址(如localhost或 IP 地址)。

  • Database:要连接的数据库名称。

  • UidPwd:数据库用户名和密码。

  • 其他可选参数:Port=3306(默认端口)、SslMode=Required(启用 SSL)等。

3. 连接数据库并执行 SQL 命令

以下是一个完整的示例,展示如何连接 MySQL 并执行查询和插入操作:

using System;
using MySqlConnector;  // 使用MySqlConnector命名空间
​
class Program
{
    static void Main()
    {
        string connectionString = "Server=localhost;Database=testdb;Uid=root;Pwd=yourpassword;";
​
        try
        {
            // 创建并打开数据库连接
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                connection.Open();
                Console.WriteLine("MySQL连接成功!");
​
                // 执行查询示例
                string selectQuery = "SELECT id, name FROM users";
                using (MySqlCommand command = new MySqlCommand(selectQuery, connection))
                {
                    using (MySqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine($"ID: {reader.GetInt32(0)}, Name: {reader.GetString(1)}");
                        }
                    }
                }
​
                // 执行插入示例(使用参数化查询防止SQL注入)
                string insertQuery = "INSERT INTO users (name, age) VALUES (@name, @age)";
                using (MySqlCommand insertCommand = new MySqlCommand(insertQuery, connection))
                {
                    insertCommand.Parameters.AddWithValue("@name", "John Doe");
                    insertCommand.Parameters.AddWithValue("@age", 30);
​
                    int rowsAffected = insertCommand.ExecuteNonQuery();
                    Console.WriteLine($"插入了{rowsAffected}行数据。");
                }
            }
        }
        catch (MySqlException ex)
        {
            Console.WriteLine($"MySQL错误: {ex.Message}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"其他错误: {ex.Message}");
        }
    }
}

4. 关键操作说明

查询数据

使用ExecuteReader()方法执行 SELECT 语句:

using (MySqlDataReader reader = command.ExecuteReader())
{
    while (reader.Read())
    {
        // 通过列索引或列名获取数据
        int id = reader.GetInt32(0);         // 通过索引获取
        string name = reader.GetString("name"); // 通过列名获取
    }
}
执行非查询命令

使用ExecuteNonQuery()方法执行 INSERT、UPDATE、DELETE 等操作:

int rowsAffected = command.ExecuteNonQuery();
参数化查询

为防止 SQL 注入,始终使用参数化查询:

command.Parameters.AddWithValue("@参数名", 参数值);

5. 异常处理与资源管理

  • 使用using语句确保连接和命令对象自动释放资源。

  • 捕获MySqlException处理 MySQL 特定错误(如连接失败、SQL 语法错误)。

  • 捕获通用Exception处理其他异常。

6. 其他常用操作

执行存储过程
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "sp_GetUser";
获取自增 ID
insertCommand.ExecuteNonQuery();
int newId = (int)insertCommand.LastInsertedId;

通过以上步骤,你可以在 C# 中成功连接并操作 MySQL 数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张謹礧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值