C# 操作mysql数据库
该文讲解 C# 对 mysql 数据库进行增删改查操作。
1. 安装数据库,注意要安装 Connector NET。
2. 引入 MySql.Data.dll,添加项目引用,该文件一般位置为:C:\Program Files (x86)\MySQL\Connector NET xx\Assemblies\v xx(由 mysql 安装位置决定)。
3. 在 MySQL Workbench 中添加测试表,本例创建了一个数据库 test,并在该数据库中创建了一个 user 表,表中有 username 和 password 两个表项,如下:
4. 对数据库进行增删改查,C# 代码如下:
1 using System; 2 using MySql.Data.MySqlClient; 3 4 namespace MySQL数据库操作 5 { 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 // 数据库配置 11 string connStr = "Database=test;datasource=127.0.0.1;port=3306;user=root;pwd=root;"; 12 MySqlConnection conn = new MySqlConnection(connStr); 13 14 conn.Open(); 15 16 #region 查询 17 // // 查询user表中所有条目 18 // MySqlCommand cmd = new MySqlCommand("select * from user", conn); 19 // 20 // MySqlDataReader reader = cmd.ExecuteReader(); 21 // 22 // // 逐行读取数据 23 // while (reader.Read()) 24 // { 25 // string username = reader.GetString("username"); 26 // string password = reader.GetString("password"); 27 // Console.WriteLine(username + ":" + password); 28 // } 29 // 30 // reader.Close(); 31 #endregion 32 33 #region 插入 34 // // 正常插入一条数据 35 // string username = "lj";string password = "6666"; 36 // MySqlCommand cmd = new MySqlCommand("insert into user set username ='" + username + "'" + ",password='" + password + "'", conn); 37 // cmd.ExecuteNonQuery(); 38 39 // // sql 注入,会删除数据库 40 // string username = "lj"; string password = "6666'; delete from user;"; 41 // MySqlCommand cmd = new MySqlCommand("insert into user set username ='" + username + "'" + ",password='" + password + "'", conn); 42 // cmd.ExecuteNonQuery(); 43 44 // // 防止注入,不会执行删除数据库语句 45 // string username = "lj"; string password = "6666'; delete from user;"; 46 // MySqlCommand cmd = new MySqlCommand("insert into user set username=@uid , password = @pwd", conn); 47 // cmd.Parameters.AddWithValue("uid", username); 48 // cmd.Parameters.AddWithValue("pwd", password); 49 // cmd.ExecuteNonQuery(); 50 #endregion 51 52 #region 删除 53 // // 删除 id 为 6 的条目 54 // MySqlCommand cmd = new MySqlCommand("delete from user where id = @id", conn); 55 // cmd.Parameters.AddWithValue("id", 6); 56 // 57 // cmd.ExecuteNonQuery(); 58 #endregion 59 60 #region 更新 61 // 将 id 为 7 的条目 pwd 修改为 lll 62 MySqlCommand cmd = new MySqlCommand("update user set password = @pwd where id = 7", conn); 63 cmd.Parameters.AddWithValue("pwd", "lll"); 64 65 cmd.ExecuteNonQuery(); 66 #endregion 67 68 conn.Close(); 69 70 Console.ReadKey(); 71 } 72 } 73 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一则复杂 SQL 改写后有感
· golang中写个字符串遍历谁不会?且看我如何提升 50 倍
· C# 代码如何影响 CPU 缓存速度?
· 智能桌面机器人:使用 .NET 为树莓派开发 Wifi 配网功能
· C# 模式匹配全解:原理、用法与易错点
· 一则复杂 SQL 改写后有感
· 曾经风光无限的 Oracle DBA 已经落伍了吗?
· 接口被刷百万QPS,怎么防?
· C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock
· 一个开源免费、功能丰富的 WPF 自定义控件资源库