使用C#连接MySQL数据库的基础指南

在本文中,将探讨如何使用C#语言和MySQL Connector/NET 5.1.7来连接MySQL数据库,并执行一些基本的数据库操作。MySQL是一个广泛使用的开源关系数据库管理系统,以其快速、易用和免费的特点而受到欢迎。

首先,需要下载并安装MySQL Server 5.1.31 Community Edition。如果是第一次下载MySQL,请确保同时下载MySQL GUI Tools和MySQL Connector/NET 5.1,后者将允许从C#连接到任何创建的MySQL数据库。如果需要安装帮助,请参考网站上提供的安装指南。

在MySQL中创建数据库

将简要介绍如何在MySQL中创建一个简单的数据库。首先,启动MySQL命令行客户端,并输入在安装过程中提供的密码。之后,将看到mysql>命令提示符。尝试输入以下命令查看结果:

mysql> SHOW DATABASES;

这个命令会列出用户会话拥有权限的所有数据库。现在,让输入以下命令来创建数据库:

mysql> CREATE DATABASE shop;

创建数据库后,它不会默认被选中;需要明确使用USE 语句来选择它。接下来,将创建一个表:

mysql> CREATE TABLE article ( article_id INT UNSIGNED NOT NULL AUTO_INCREMENT, article_name VARCHAR(50), article_price DOUBLE(16,2), PRIMARY KEY (article_id) );

创建表后,可以使用DESCRIBE命令来查看表的结构,插入数据到表中,以及查询表中的数据。

在C#中连接到数据库

为了能够从C#操作任何MySQL数据库中的数据,需要引用MySql.Data程序集,该程序集在安装MySQL Connector/NET后注册到全局程序集缓存中。首先,在Visual C#中创建一个新的控制台应用程序项目。

在VisualC#IDE的解决方案资源管理器中,右键单击引用文件夹并选择“添加引用...”。在出现的“添加引用”对话框中,从列表中选择MySQL.Data项。

接下来,需要在代码中添加以下语句:

using MySql.Data.MySqlClient;

以下是从C#连接到任何MySQL数据库所需的基本代码行:

using System; using System.Data; using MySql.Data.MySqlClient; namespace MySQLDBConnection { class Program { static void Main(string[] args) { MySqlConnectionStringBuilder connBuilder = new MySqlConnectionStringBuilder(); connBuilder.Add("Database", "shop"); connBuilder.Add("Data Source", "localhost"); connBuilder.Add("User Id", "root"); connBuilder.Add("Password", "masterkey"); MySqlConnection connection = new MySqlConnection(connBuilder.ConnectionString); MySqlCommand cmd = connection.CreateCommand(); connection.Open(); // 在这里编写对数据库进行操作的代码,例如查询或插入表中的行 connection.Close(); } } }

注意,选择使用MySqlConnectionStringBuilder类而不是将所有连接项放入一个单独的字符串中。这提高了代码的可读性和可维护性。

执行数据库操作

现在,让在Program类中创建以下两个方法。一个用于读取正在工作的表的内容,另一个用于向其中添加新数据。

public static void QueryCommand(MySqlCommand cmd) { cmd.CommandText = "SELECT * FROM article"; cmd.CommandType = CommandType.Text; MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}, {2}", reader.GetInt32(0), reader.GetString(1), reader.GetDouble(2))); } reader.Close(); } public static void InsertCommand(MySqlCommand cmd, string name, double price) { cmd.CommandText = "append_data"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new MySqlParameter("param_name", name)); cmd.Parameters.Add(new MySqlParameter("param_price", price)); cmd.ExecuteNonQuery(); }

现在让在connection.Open()和connection.Close()语句之间添加一些代码,以对数据库执行一些基本操作。

InsertCommand(cmd, "MQ95 Flat Monitor", 399.00); QueryCommand(cmd);
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485