c#mysql数据库增删改查

C#中,使用MySql.Data库可以实现对MySQL数据库的增删改查操作。

C#中操作MySQL数据库进行增删改查,主要涉及到使用MySqlConnectionMySqlCommand等类,以下是详细的步骤和示例代码:

c#mysql数据库增删改查

准备工作

1、安装MySQL数据库:确保已经安装了MySQL数据库,并创建了相应的数据库和表,创建一个名为mydb的数据库,并在其中创建一个名为mytable的表,包含id(主键)、column1column2等字段。

2、添加引用:在C#项目中,需要添加对MySql.Data.MySqlClient命名空间的引用,可以通过NuGet包管理器安装MySql.Data库来实现。

3、配置连接字符串:在项目的配置文件(如App.config)中配置MySQL数据库的连接字符串,包括服务器地址、数据库名、用户名和密码等信息。

   <connectionStrings>
     <add name="connStr" connectionString="server=localhost;database=mydb;uid=root;pwd=123456" providerName="MySql.Data.MySqlClient"/>
   </connectionStrings>

数据库连接

需要建立与MySQL数据库的连接,可以使用MySqlConnection类来创建连接对象,并通过连接字符串指定数据库的相关信息。

c#mysql数据库增删改查

string connectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
    connection.Open();
    // 后续的增删改查操作将在这里进行
}

增加(Insert)

使用INSERT INTO语句向表中插入新记录,可以使用MySqlCommand对象来执行SQL命令,并通过Parameters属性设置参数值,以防止SQL注入攻击。

string query = "INSERT INTO mytable (column1, column2) VALUES (@value1, @value2)";
using (MySqlCommand command = new MySqlCommand(query, connection))
{
    command.Parameters.AddWithValue("@value1", "value1");
    command.Parameters.AddWithValue("@value2", "value2");
    int rowsAffected = command.ExecuteNonQuery();
    Console.WriteLine($"{rowsAffected} row(s) inserted.");
}

删除(Delete)

使用DELETE FROM语句删除表中的特定记录,同样使用MySqlCommand对象执行SQL命令,并通过Parameters属性设置条件参数。

string query = "DELETE FROM mytable WHERE id = @id";
using (MySqlCommand command = new MySqlCommand(query, connection))
{
    command.Parameters.AddWithValue("@id", 1);
    int rowsAffected = command.ExecuteNonQuery();
    Console.WriteLine($"{rowsAffected} row(s) deleted.");
}

修改(Update)

使用UPDATE语句更新表中已有的记录,通过MySqlCommand对象执行SQL命令,并设置相应的参数。

string query = "UPDATE mytable SET column1 = @newValue WHERE id = @id";
using (MySqlCommand command = new MySqlCommand(query, connection))
{
    command.Parameters.AddWithValue("@newValue", "newValue");
    command.Parameters.AddWithValue("@id", 1);
    int rowsAffected = command.ExecuteNonQuery();
    Console.WriteLine($"{rowsAffected} row(s) updated.");
}

查询(Select)

使用SELECT语句从表中检索数据,可以使用MySqlCommand对象执行SQL查询,并通过ExecuteReader方法获取查询结果,遍历MySqlDataReader对象来读取每一行数据。

c#mysql数据库增删改查

string query = "SELECT * FROM mytable";
using (MySqlCommand command = new MySqlCommand(query, connection))
{
    using (MySqlDataReader reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            int id = reader.GetInt32(0);
            string column1 = reader.GetString(1);
            string column2 = reader.GetString(2);
            Console.WriteLine($"ID: {id}, Column1: {column1}, Column2: {column2}");
        }
    }
}

以下是一个完整的示例程序,展示了如何在C#中使用上述方法对MySQL数据库进行增删改查操作:

using System;
using System.Data;
using MySql.Data.MySqlClient;
using System.Configuration;
class Program
{
    static void Main()
    {
        string connectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
        using (MySqlConnection connection = new MySqlConnection(connectionString))
        {
            connection.Open();
            // 增加记录
            AddRecord(connection);
            // 删除记录
            DeleteRecord(connection);
            // 修改记录
            UpdateRecord(connection);
            // 查询记录
            QueryRecords(connection);
        }
    }
    static void AddRecord(MySqlConnection connection)
    {
        string query = "INSERT INTO mytable (column1, column2) VALUES (@value1, @value2)";
        using (MySqlCommand command = new MySqlCommand(query, connection))
        {
            command.Parameters.AddWithValue("@value1", "value1");
            command.Parameters.AddWithValue("@value2", "value2");
            int rowsAffected = command.ExecuteNonQuery();
            Console.WriteLine($"{rowsAffected} row(s) inserted.");
        }
    }
    static void DeleteRecord(MySqlConnection connection)
    {
        string query = "DELETE FROM mytable WHERE id = @id";
        using (MySqlCommand command = new MySqlCommand(query, connection))
        {
            command.Parameters.AddWithValue("@id", 1);
            int rowsAffected = command.ExecuteNonQuery();
            Console.WriteLine($"{rowsAffected} row(s) deleted.");
        }
    }
    static void UpdateRecord(MySqlConnection connection)
    {
        string query = "UPDATE mytable SET column1 = @newValue WHERE id = @id";
        using (MySqlCommand command = new MySqlCommand(query, connection))
        {
            command.Parameters.AddWithValue("@newValue", "newValue");
            command.Parameters.AddWithValue("@id", 1);
            int rowsAffected = command.ExecuteNonQuery();
            Console.WriteLine($"{rowsAffected} row(s) updated.");
        }
    }
    static void QueryRecords(MySqlConnection connection)
    {
        string query = "SELECT * FROM mytable";
        using (MySqlCommand command = new MySqlCommand(query, connection))
        {
            using (MySqlDataReader reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    int id = reader.GetInt32(0);
                    string column1 = reader.GetString(1);
                    string column2 = reader.GetString(2);
                    Console.WriteLine($"ID: {id}, Column1: {column1}, Column2: {column2}");
                }
            }
        }
    }
}

在实际应用中,还需要考虑异常处理、事务管理等方面的问题,以确保数据库操作的安全性和可靠性,根据具体的业务需求,还可以对上述代码进行进一步的优化和扩展。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1566909.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希
上一篇 2025-02-15 00:58
下一篇 2025-02-15 01:00

相关推荐

  • C#使用SQL DataAdapter数据适配代码实例

    在C#中,使用SQL DataAdapter可以方便地从数据库中检索数据并填充到DataSet或DataTable中。以下是一个简单的代码示例:“csharp,using System;,using System.Data;,using System.Data.SqlClient;class Program,{, static void Main(), {, string connectionString = “your_connection_string”;, string query = “SELECT FROM your_table”; using (SqlConnection connection = new SqlConnection(connectionString)), {, SqlDataAdapter adapter = new SqlDataAdapter(query, connection);, DataSet dataSet = new DataSet();, adapter.Fill(dataSet); // Now you can work with the data in dataSet, foreach (DataRow row in dataSet.Tables[0].Rows), {, Console.WriteLine(row[“your_column”]);, }, }, },},`这个例子展示了如何使用SqlDataAdapter从数据库中检索数据并填充到DataSet`中,然后遍历并输出其中的数据。

    2025-03-19
    06
  • c#判断数据库有数据

    “csharp,using System;,using System.Data.SqlClient;class Program,{, static void Main(), {, string connectionString = “your_connection_string”;, string query = “SELECT COUNT() FROM your_table”;, using (SqlConnection con = new SqlConnection(connectionString)), {, con.Open();, SqlCommand cmd = new SqlCommand(query, con);, int count = (int)cmd.ExecuteScalar();, if (count ˃ 0), Console.WriteLine(“Database has data.”);, else, Console.WriteLine(“Database is empty.”);, }, },},“

    2025-03-19
    06
  • c# 连接有别名的数据库

    在C#中,连接有别名的数据库可以通过设置连接字符串中的“Data Source”属性为数据库别名来实现。

    2025-03-19
    015
  • c#字符串存储到文件路径

    在C#中,你可以使用System.IO.File.WriteAllText方法将字符串存储到文件路径。

    2025-03-19
    06

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入