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 }