今天学了软件构造,进行C#的mysql连接
准备环境
菜单栏 -> 工具 -> NuGet包管理器(N) -> 管理解决方案的NuGet程序包(N) -> 点击确定(添加成功后会弹窗提示)->进入后进行搜索mysql -> 进行安装
进行使用
导入命名空间:using MySql.Data.MySqlClient;
using System;
using MySql.Data.MySqlClient;
namespace MySqlDemo
{
class Program
{
static void Main(string[] args)
{
// 连接字符串,替换为你的数据库信息
string connectionString = "server=localhost;user=root;database=testdb;port=3306;password=your_password";
// 创建连接对象
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
// 打开连接
connection.Open();
// 插入数据
string insertSql = "INSERT INTO users (name, age) VALUES (@name, @age)";
using (MySqlCommand command = new MySqlCommand(insertSql, connection))
{
command.Parameters.AddWithValue("@name", "张三");
command.Parameters.AddWithValue("@age", 25);
command.ExecuteNonQuery();
}
// 查询数据
string selectSql = "SELECT * FROM users";
using (MySqlCommand command = new MySqlCommand(selectSql, connection))
{
using (MySqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"ID: {reader["id"]}, Name: {reader["name"]}, Age: {reader["age"]}");
}
}
}
// 更新数据
string updateSql = "UPDATE users SET age = @age WHERE id = @id";
using (MySqlCommand command = new MySqlCommand(updateSql, connection))
{
command.Parameters.AddWithValue("@id", 1);
command.Parameters.AddWithValue("@age", 26);
command.ExecuteNonQuery();
}
// 删除数据
string deleteSql = "DELETE FROM users WHERE id = @id";
using (MySqlCommand command = new MySqlCommand(deleteSql, connection))
{
command.Parameters.AddWithValue("@id", 1);
command.ExecuteNonQuery();
}
}
}
}
}
注意:请将connectionString中的your_password替换为你的MySQL数据库密码。
这段代码是使用C#和MySql.Data库来操作MySQL数据库的示例。它包括了插入、查询、更新和删除数据的操作。
1. 首先,定义了一个连接字符串`connectionString`,其中包含了数据库的服务器地址、用户名、数据库名、端口号和密码等信息。请确保替换为你自己的实际数据库信息。
2. 使用`MySqlConnection`类创建一个连接对象`connection`,并使用`Open()`方法打开连接。
3. 接下来,执行插入数据的SQL语句。通过`MySqlCommand`类创建一个命令对象`command`,并将插入语句和连接对象传递给它。然后,使用`Parameters.AddWithValue()`方法添加参数值,最后调用`ExecuteNonQuery()`方法执行非查询类型的SQL语句。
4. 接着,执行查询数据的SQL语句。同样地,创建命令对象`command`,并将查询语句和连接对象传递给它。然后,使用`ExecuteReader()`方法执行查询操作,并通过循环遍历结果集,将每一行的数据打印到控制台。
5. 之后,执行更新数据的SQL语句。与插入和查询类似,创建命令对象`command`,并将更新语句和连接对象传递给它。然后,添加参数值,并调用`ExecuteNonQuery()`方法执行非查询类型的SQL语句。
6. 最后,执行删除数据的SQL语句。同样地,创建命令对象`command`,并将删除语句和连接对象传递给它。然后,添加参数值,并调用`ExecuteNonQuery()`方法执行非查询类型的SQL语句。
7. 在`using`语句块结束时,连接对象`connection`会自动关闭,释放资源。
请注意,为了运行此代码,你需要安装MySql.Data库并将其添加到你的项目中。
在这段代码中,使用了using语句来自动管理数据库连接和命令对象的生命周期。当using语句块结束时,连接对象和命令对象会自动关闭,释放资源。因此,不需要显式地关闭数据。