"这篇教程主要介绍了如何使用C#语言对MySQL数据库进行基本的增删改查操作。在开始之前,确保已经安装了MySql.Data NuGet包,并且在项目中引用了MySql.Data.MySqlClient命名空间。接下来,我们将通过实例代码详细讲解这四个基本操作的实现方式。"
在C#中与MySQL数据库交互,首先需要建立数据库连接,这通常通过`MySqlConnection`类来完成。创建连接字符串,其中包含服务器地址(如localhost)、用户名(如root)、密码(例如123456)以及要连接的数据库名(如test)。一旦连接建立,便可以执行SQL语句。
1. 增加数据
增加数据时,使用`INSERT INTO` SQL语句配合`MySqlCommand`类。以下是一个插入数据的例子:
```csharp
string connStr = "server=localhost;userid=root;password=123456;database=test;";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
string sql = "INSERT INTO users(name, age, gender) VALUES(@name, @age, @gender);";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "Tom");
cmd.Parameters.AddWithValue("@age", 18);
cmd.Parameters.AddWithValue("@gender", "male");
int count = cmd.ExecuteNonQuery();
Console.WriteLine($"插入了{count}条数据。");
}
```
这段代码将向名为`users`的表中插入一条记录,包含姓名(Tom)、年龄(18)和性别(male)。
2. 修改数据
修改数据则需要用到`UPDATE` SQL语句。以下是一个更新数据的例子:
```csharp
string connStr = "server=localhost;userid=root;password=123456;database=test;";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
string sql = "UPDATE users SET age=@age WHERE name=@name;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "Tom");
cmd.Parameters.AddWithValue("@age", 20);
int count = cmd.ExecuteNonQuery();
Console.WriteLine($"更新了{count}条数据。");
}
```
这里将找到名字为Tom的用户并将其年龄更新为20。
3. 删除数据
删除数据使用`DELETE FROM`语句。假设我们想要删除名字为Tom的用户,代码如下:
```csharp
string connStr = "server=localhost;userid=root;password=123456;database=test;";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
string sql = "DELETE FROM users WHERE name=@name;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "Tom");
int count = cmd.ExecuteNonQuery();
Console.WriteLine($"删除了{count}条数据。");
}
```
4. 查询数据
查询数据时,使用`SELECT`语句配合`MySqlDataReader`来读取结果。下面是一个简单的查询示例:
```csharp
string connStr = "server=localhost;userid=root;password=123456;database=test;";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
string sql = "SELECT * FROM users WHERE age>@ageLimit;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@ageLimit", 18);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"ID: {reader.GetInt32(0)}, Name: {reader.GetString(1)}, Age: {reader.GetInt32(2)}, Gender: {reader.GetString(3)}");
}
}
```
这段代码将查询年龄大于18岁的所有用户并打印他们的信息。
在实际开发中,为了确保代码的健壮性,建议使用事务处理(`BeginTransaction`、`Commit`和`Rollback`)来管理多个数据库操作,以及异常处理机制来捕获可能出现的错误。同时,敏感信息如数据库连接字符串应妥善保管,避免直接写在代码中,可以考虑使用配置文件或环境变量存储。