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# 代码如下:
using System; using MySql.Data.MySqlClient; namespace MySQL数据库操作 { class Program { static void Main(string[] args) { // 数据库配置 string connStr = "Database=test;datasource=127.0.0.1;port=3306;user=root;pwd=root;"; MySqlConnection conn = new MySqlConnection(connStr); conn.Open(); #region 查询 // // 查询user表中所有条目 // MySqlCommand cmd = new MySqlCommand("select * from user", conn); // // MySqlDataReader reader = cmd.ExecuteReader(); // // // 逐行读取数据 // while (reader.Read()) // { // string username = reader.GetString("username"); // string password = reader.GetString("password"); // Console.WriteLine(username + ":" + password); // } // // reader.Close(); #endregion #region 插入 // // 正常插入一条数据 // string username = "lj";string password = "6666"; // MySqlCommand cmd = new MySqlCommand("insert into user set username ='" + username + "'" + ",password='" + password + "'", conn); // cmd.ExecuteNonQuery(); // // sql 注入,会删除数据库 // string username = "lj"; string password = "6666'; delete from user;"; // MySqlCommand cmd = new MySqlCommand("insert into user set username ='" + username + "'" + ",password='" + password + "'", conn); // cmd.ExecuteNonQuery(); // // 防止注入,不会执行删除数据库语句 // string username = "lj"; string password = "6666'; delete from user;"; // MySqlCommand cmd = new MySqlCommand("insert into user set username=@uid , password = @pwd", conn); // cmd.Parameters.AddWithValue("uid", username); // cmd.Parameters.AddWithValue("pwd", password); // cmd.ExecuteNonQuery(); #endregion #region 删除 // // 删除 id 为 6 的条目 // MySqlCommand cmd = new MySqlCommand("delete from user where id = @id", conn); // cmd.Parameters.AddWithValue("id", 6); // // cmd.ExecuteNonQuery(); #endregion #region 更新 // 将 id 为 7 的条目 pwd 修改为 lll MySqlCommand cmd = new MySqlCommand("update user set password = @pwd where id = 7", conn); cmd.Parameters.AddWithValue("pwd", "lll"); cmd.ExecuteNonQuery(); #endregion conn.Close(); Console.ReadKey(); } } }