C#操作Mysql(VS2015+Win10)

C#操作Mysql(VS2015+Win10)

Mysql是常用的关系型数据库,Windows下Mysql的安装方法参考:Windows下MYSQL的安装!(添加my.ini文件后,要重启mysql服务才能使my.ini生效)

Windows下Mysql的终端使用方法参考:Mysql数据库命令大全!

C#操作Mysql示例

C#对数据库的操作主要依赖于动态链接库MySql.Data.dll,我们先在程序包管理器控制台使用NuGet下载

> Install-Package MySql.Data

指定版本下载的方法为:

> Install-Package MySql.Data -Version 6.7.9

在这里插入图片描述

也可按照如下方式安装:

第一步,右键项目,点击管理NuGet程序包
在这里插入图片描述

第二步,在搜索框输入Mysql.Data进行搜索,找到后点击安装,可手动选择版本。
在这里插入图片描述

第三步,安装过程中需点击确定,我接受等内容。
在这里插入图片描述

第四步,安装成功后可在项目引用中看到Mysql.Data
在这里插入图片描述

(推荐装低版本,高版本可能会安装失败)

第五步,程序中添加使用Mysql命名空间

using MySql.Data;
using MySql.Data.MySqlClient;

1.创建删除数据库

1.创建数据库

string connStr = "server=127.0.0.1;user=root;password=rootmysql;";
conn = new MySqlConnection(connStr);
conn.Open();
string sql = "Create database testdb";
MySqlCommand cmd = new MySqlCommand(sql, conn);
int s = cmd.ExecuteNonQuery();
conn.Close();

在这里插入图片描述

2.显示数据库

string connStr = "server=127.0.0.1;user=root;password=rootmysql;";
conn = new MySqlConnection(connStr);
conn.Open();
string sql = "show databases;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader reader = cmd.ExecuteReader();
while(reader.Read()) {
Console.WriteLine(reader.GetString("DataBase"));
}
conn.Close();

在这里插入图片描述

3.删除数据库

string connStr = "server=127.0.0.1;user=root;password=rootmysql;";
conn = new MySqlConnection(connStr);
conn.Open();
string sql = "drop database testdb";
MySqlCommand cmd = new MySqlCommand(sql, conn);
int s = cmd.ExecuteNonQuery();
conn.Close();

2.连接Mysql数据库

string connStr = "server=127.0.0.1;user=root;password=rootmysql; database=wpfbasedb;";
MySqlConnection conn = new MySqlConnection(connStr);
try {conn.Open();showspace.Text="连接成功";}
catch {showspace.Text="连接失败";}

注意: 如果指定的数据库不存在,会连接失败,但当数据库名为空字符串时,会连接成功(类似终端未执行use database;)。

3.创建删除数据表

1.创建数据表

string connStr = "server=127.0.0.1;user=root;password=rootmysql;database=wpfbasedb;";
conn = new MySqlConnection(connStr);
conn.Open();
string sql = "CREATE TABLE `testtable` ("
           + "`UserID` int unsigned NOT NULL AUTO_INCREMENT,"
           + "`UserName` varchar(20) NOT NULL,"
           + "`UserAccount` varchar(10) NOT NULL,"
           + "`UserPasswd` varchar(20) NOT NULL,"
           + "`UserPhone` varchar(11) DEFAULT NULL,"
           + "`UserEmail` varchar(40) DEFAULT NULL,"
           + "`UserSex` tinyint(1) NOT NULL,"
           + "PRIMARY KEY (`UserID`)"
           + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
int s = cmd.ExecuteNonQuery();
conn.Close();

在这里插入图片描述

2.删除数据表

string connStr = "server=127.0.0.1;user=root;password=rootmysql;database=wpfbasedb;";
conn = new MySqlConnection(connStr);
conn.Open();
string sql = "drop table testtable";
MySqlCommand cmd = new MySqlCommand(sql, conn);
int s = cmd.ExecuteNonQuery();
conn.Close();

4.从数据表中查询数据

1.查询多行数据

conn.Open();
string sql = "select * from usertable";
MySqlCommand cmd = new MySqlCommand(sql, conn);
// 查询数据表
MySqlDataReader reader = cmd.ExecuteReader();
Console.WriteLine("UserID\t姓名\t帐号\t密码\t电话\t邮箱\t性别");
while(reader.Read()) {
  Console.Write(reader.GetInt32("UserID")+"\t");
  Console.Write(reader.GetString("UserName")+"\t");
  Console.Write(reader.GetInt32("UserAccount")+"\t");
  Console.Write(reader.GetString("UserPasswd")+"\t");
  if (reader.IsDBNull(4))
    Console.Write("NULL\t");
  else
    Console.Write(reader.GetInt32("UserPhone")+"\t");
  if (reader.IsDBNull(5))
    Console.Write("NULL\t");
  else
    Console.Write(reader.GetString("UserEmail")+"\t");
  if (reader.GetInt32("UserSex") == 1)
    Console.Write("男\n");
  else
    Console.Write("女\n");
  }
conn.Close();

在这里插入图片描述

2.查询单个数据

conn.Open();
sql = "select UserName from usertable where UserID=1";
cmd = new MySqlCommand(sql, conn);
string name = cmd.ExecuteScalar().ToString();
Console.WriteLine(name);
conn.Close();

注意:每次执行sql命令语句前,需要使用conn.Open()开启数据库连接,每次执行后需要使用conn.Close()关闭数据库连接。否则,在下一次执行sql命令时可能出现下面三种异常情况:

(1)上一次执行完使用Close关闭,但本次执行前未使用Open开启。报未开启连接异常

(2)上一次执行完未使用Close关闭,本次执行前未使用Open开启。报连接处于上一次命令状态异常

(3)上一次执行完未使用Close关闭,本次执行前使用Open开启。报连接已开启,不能再次开启异常

5.对数据表产生影响的操作

conn.Open();
sql = "insert into usertable (UserName, UserAccount, UserPasswd, "
    + "UserPhone, UserEmail, UserSex) values ('kaer', '1245228904', "
    +"'kaer3360', '13166243360', '1245228904@qq.com', 0)";
cmd = new MySqlCommand(sql, conn);
int s = cmd.ExecuteNonQuery();
if (s == 0) 
    Console.WriteLine("false");
else 
    Console.WriteLine("success");
conn.Close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#操作MySQL数据库可以通过以下步骤进行: 1. 首先,你需要下载并安装MySQL数据库的拓展MySql.Data。你可以在Visual Studio中使用NuGet管理器搜索并安装该拓展\[3\]。 2. 在你的C#项目中,你需要引入MySql.Data命名空间,以便使用MySQL数据库相关的类和方法。 3. 接下来,你需要连接到MySQL数据库。你可以使用MySqlConnection类来建立与数据库的连接。在连接字符串中,你需要提供数据库的地址、用户名、密码等信息。 4. 一旦连接成功,你可以使用MySqlCommand类来执行SQL语句。你可以使用该类的ExecuteNonQuery方法来执行插入、更新或删除操作,使用ExecuteReader方法来执行查询操作。 5. 如果你需要读取查询结果,你可以使用MySqlDataReader类来逐行读取数据。 6. 如果你需要将数据写入MySQL数据库,你可以使用MySqlCommand类的参数化查询功能,以避免SQL注入攻击。 总结起来,C#操作MySQL数据库的步骤括下载并安装MySql.Data拓展、连接到MySQL数据库、执行SQL语句、读取查询结果和写入数据\[1\]\[2\]\[3\]。 #### 引用[.reference_title] - *1* *2* *3* [C#操作MySql数据库](https://blog.csdn.net/weixin_46846685/article/details/109252816)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值