MySql数据库教程 - 5.用C#连接数据库
- 添加 dll 引用,dll 位置:C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2
- 引入命名空间:MySql.Data.MySqlClient
- 编写连接字符串,连接字符串内容包括:
数据库名(database);ip 地址(datasource/data source);端口号(port);用户名(userid/user);密码(password/pwd) - 创建一个用于动态链接的 MySqlConnection 变量
- 调用Open方法打开数据库连接
- 编写 增、删、改、查 语句
a. 创建SQL语句
b. 执行SQL语句 - 调用Close方法关闭数据库连接
示例代码:
using System; using MySql.Data.MySqlClient; namespace MYSQL数据库操作 { class Program { static void Main(string[] args) { // 连接字符串(该字符串不区分大小写):数据库名(database),ip地址(datasource/data source),端口号(port),用户名(userid/user),密码(password/pwd) string connStr = "database = test007;" + "datasource = 127.0.0.1;" + "port = 3306;" + "userid =root;" + "password=root"; // 用于动态链接的对象 // 参数:需要填一个连接字符串 MySqlConnection conn = new MySqlConnection(connStr); // 打开连接 conn.Open(); // 查询 //SelectData(conn); // 插入数据 //InsertData(conn); // 删除 //DeleteData(conn); // 更新数据 UpdateData(conn); conn.Close(); // 关闭时需要遵循 先开后关 的顺序。 Console.ReadKey(); } // 查询 static void SelectData(MySqlConnection conn) { // 创建一个 MySql 对象(创建一个SQL命令) // 参数:SQL语句,Connector对象 MySqlCommand cmd = new MySqlCommand("select * from user",conn); // 执行 SQL 命令(返回一个读取流) MySqlDataReader reader = cmd.ExecuteReader(); // 判断Reader里面是否有数据 reader.HasRows // 调用 Read方法,表示读取一行记录(返回值:读取到数据返回 true,没有读取到数据返回false) while (reader.Read()) { // 获得需要的数据 string username = reader.GetString("username"); string password = reader.GetString("password"); // 打印读取到的数据 Console.WriteLine(username + ":" + password); } // 关闭读取流,SQL 命令不需要关闭 reader.Close(); // 关闭和数据库的连接 } // 插入 static void InsertData(MySqlConnection conn) { // 定义用户名和IMA string username = "qqq"; string password = "www"; /* // 字符串组拼的方式插入数据,可能出现 SQL注入的问题 MySqlCommand cmd = new MySqlCommand("insert into user set username = '" + username + "',password = '" + password + "'",conn); */ // 针对以上问题的解决方案 MySqlCommand cmd = new MySqlCommand("insert into user set username = @un, password = @pwd", conn); cmd.Parameters.AddWithValue("un", username); cmd.Parameters.AddWithValue("pwd", password); cmd.ExecuteNonQuery(); } // 删除 static void DeleteData(MySqlConnection conn) { int id = 3; MySqlCommand cmd = new MySqlCommand("delete from user where id = @id", conn); cmd.Parameters.AddWithValue("id", id); cmd.ExecuteNonQuery(); } // 更新数据 static void UpdateData(MySqlConnection conn) { string password = "123456789"; MySqlCommand cmd = new MySqlCommand("update user set password = @pwd where id = 1",conn); cmd.Parameters.AddWithValue("pwd", password); cmd.ExecuteNonQuery(); } } }