C#连接MySQL数据库

C#连接MySQL数据库

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数据库,并进行数据操作。在实际开发中,我们可以根据需求进行扩展和优化,以更好地满足业务需求。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程