C#连接MySql数据库进行测试

创建测试数据库和表

我使用的是Navicat15界面工具,建立JungleWars连接,创建Test数据库,创建user用户信息表,设置id为主键自动增长。并添加三条测试信息。
user表
测试信息

添加新项目MySqlOperation

为新项目增加MySql.Data.dll动态链接库。第一次使用dll时是不存在的,需要前往官网下载。

查询操作

using System;
using MySql.Data.MySqlClient;

namespace MySqlOperation
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            string config = "database=Test;" +
                            "datasource = 127.0.0.1;" +
                            "userid = root;" +
                            "port=3306;" +
                            "password=********";
            MySqlConnection conn = new MySqlConnection(config);
            conn.Open();
            string sql = "select *from user";
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            // 对数据进行读取
            MySqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                string username = reader.GetString("username");
                string password = reader.GetString("password");
                Console.WriteLine(username + ":" + password);
            }

            reader.Close();
            conn.Close();
        }
    }
}

测试结果
得到了所有用户名和密码

wankcn:wankcn
chenxi:chenxi
wenruo:wenruo

插入语句

string userName = "liuxiyi"; string pwd = "liuxiyi";
string sql = "insert into user set username='"+userName+"', password='"+pwd+"'";
MySqlCommand cmd = new MySqlCommand(sql , conn);
cmd.ExecuteNonQuery();

测试结果查看数据库表中多了一行新插入的数据

解决Sql注入问题

使用传值的方式解决sql注入,恶意语句会被当作值写入表中。

string userName = "wr";
string pwd = "wr123';delete from user";
string sql = "insert into user set username=@un,password=@pwd";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("un", userName);
cmd.Parameters.AddWithValue("pwd", pwd);

在这里插入图片描述

删除数据

删除调id为5的那条sql数据。

string sql = "delete from user where id=@id";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("id",5);
cmd.ExecuteNonQuery();

在这里插入图片描述

数据更新

id为4的数据密码更新为lover

string sql = "update user set password=@pwd where id=4";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.AddWithValue("pwd", "lover");
cmd.ExecuteNonQuery();

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wankcn/article/details/107075998