C#连接MySQL数据库
在开发过程中,我们经常需要与数据库进行交互,其中MySQL是一个轻量级的数据库管理系统,广泛应用于Web开发和其他领域中。本文将详细介绍如何使用C#编程语言连接MySQL数据库。
准备工作
在开始之前,我们需要先下载MySQL数据库,并安装好MySQL Server和MySQL Workbench。同时,我们还需要下载MySQL Connector/NET,这是一个用于.NET和MySQL之间通信的软件库。
安装完以上软件后,我们可以在Visual Studio中创建一个C#项目,接下来我们将会使用MySQL数据库进行数据操作。
连接数据库
在C#中连接MySQL数据库有两种方式,一种是使用MySql.Data
库,另一种是使用MySQL Connector/NET
。
使用MySql.Data
库连接数据库
首先,我们需要在项目中安装MySql.Data
库,我们可以使用NuGet包管理器来安装,搜索Mysql.Data
并进行安装。
接下来,我们可以编写代码来连接到数据库:
using MySql.Data.MySqlClient;
class Program
{
static void Main()
{
string connStr = "server=localhost;user=root;database=test;port=3306;password=123456;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
Console.WriteLine("数据库连接成功!");
}
catch (MySqlException ex)
{
Console.WriteLine("数据库连接失败:" + ex.Message);
}
finally
{
conn.Close();
}
}
}
上面的代码首先创建了一个连接字符串connStr
,然后创建了一个MySqlConnection
对象conn
,最后尝试打开连接。
使用MySQL Connector/NET
连接数据库
另一种方式是使用MySQL Connector/NET
连接数据库,我们可以在MySQL官网上下载安装。
using System;
using MySql.Data.MySqlClient;
class Program
{
static void Main()
{
string connStr = "server=localhost;user=root;database=test;port=3306;password=123456;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
Console.WriteLine("数据库连接成功!");
}
catch (MySqlException ex)
{
Console.WriteLine("数据库连接失败:" + ex.Message);
}
finally
{
conn.Close();
}
}
}
以上代码与使用MySql.Data
库连接数据库的方式相似,只是在引入命名空间和代码细节上稍有不同。
数据操作
连接成功后,我们就可以进行数据操作了,包括查询、插入、更新和删除等。
查询数据
using System;
using MySql.Data.MySqlClient;
class Program
{
static void Main()
{
string connStr = "server=localhost;user=root;database=test;port=3306;password=123456;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
string sql = "SELECT * FROM user";
MySqlCommand cmd = new MySqlCommand(sql, conn);
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader.GetString(0) + " " + reader.GetString(1));
}
}
}
catch (MySqlException ex)
{
Console.WriteLine("查询失败:" + ex.Message);
}
finally
{
conn.Close();
}
}
}
插入数据
using System;
using MySql.Data.MySqlClient;
class Program
{
static void Main()
{
string connStr = "server=localhost;user=root;database=test;port=3306;password=123456;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
string sql = "INSERT INTO user (name, age) VALUES (@name, @age)";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "Alice");
cmd.Parameters.AddWithValue("@age", 25);
int rowsAffected = cmd.ExecuteNonQuery();
Console.WriteLine("插入了" + rowsAffected + "行数据!");
}
catch (MySqlException ex)
{
Console.WriteLine("插入数据失败:" + ex.Message);
}
finally
{
conn.Close();
}
}
}
更新数据
using System;
using MySql.Data.MySqlClient;
class Program
{
static void Main()
{
string connStr = "server=localhost;user=root;database=test;port=3306;password=123456;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
string sql = "UPDATE user SET age=@age WHERE name=@name";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@age", 26);
cmd.Parameters.AddWithValue("@name", "Alice");
int rowsAffected = cmd.ExecuteNonQuery();
Console.WriteLine("更新了" + rowsAffected + "行数据!");
}
catch (MySqlException ex)
{
Console.WriteLine("更新数据失败:" + ex.Message);
}
finally
{
conn.Close();
}
}
}
删除数据
using System;
using MySql.Data.MySqlClient;
class Program
{
static void Main()
{
string connStr = "server=localhost;user=root;database=test;port=3306;password=123456;";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
conn.Open();
string sql = "DELETE FROM user WHERE name=@name";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "Alice");
int rowsAffected = cmd.ExecuteNonQuery();
Console.WriteLine("删除了" + rowsAffected + "行数据!");
}
catch (MySqlException ex)
{
Console.WriteLine("删除数据失败:" + ex.Message);
}
finally
{
conn.Close();
}
}
}
总结
通过本文的介绍,我们学会了如何使用C#连接MySQL数据库,并进行数据操作。在实际开发中,我们可以根据需求进行扩展和优化,以更好地满足业务需求。