• 1、引入MySql.data.dll
    首先在创建工程后要引入MySql.Data.dll文件。在创建的项目上右键找到Nuget程序包。

    QQ截图20200318223656.png

    然后按照红框内的方式搜索,一般第一个即为MySql.data.dll文件,点击下载导入即可。

    QQ截图20200318223723.png

    SDK引入之后下面我们就可以进行对MySql的操作啦。。。
    注:一定要先下载好MySql之后才可以呀,最好先创建一个表作为测试表,不然测试都不好测试。

  • 2、与数据库建立连接
    先进行一个简单的连接,在这里,建立连接用到的是MySqlConnection这个类。
    第一个string值中的值分别代表:server:ip地址 port:端口号 database:数据库名称 user:用户名 password:密码
    数据库在本地的话ip可以写成127.0.0.1或者localhost,这两个都代表是本地IP

class Program
    {
        static void Main(string[] args)
        {
            //这是用来连接数据库的信息,
            string connect = "server=127.0.0.1;port=3306;database=mygame;user=root;password=root;";

            //注册连接信息
            MySqlConnection conn = new MySqlConnection(connect);
            conn.Open();//开始连接数据库

            conn.Close();//关闭连接数据库
        }
    }

在open()开始连接的时候是可能报错的,比如端口号写错等等,为了捕捉异常可以这么修改。

class Program

    {
        static void Main(string[] args)
        {
            //这是用来连接数据库的信息,
            string connect = "server=127.0.0.1;port=3306;database=mygame;user=root;password=root;";

            //注册连接信息
            MySqlConnection conn = new MySqlConnection(connect);

            try
            {
                conn.Open();//开始连接数据库
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            finally
            {
                conn.Close();//关闭连接数据库
            }
        }
    }
  • 3、操作数据库

    • 查询
      现在已经建立好连接了,下面进行操作数据库的部分。用到MySqlCommand类来根据命令进行操作,利用MySqlDataReader类进行获取读到的数据。
      reader.Reader()方法调用后,reader读取了一行数据,调用一次向下读一行,重复调用会一直往下读,利用reader[0]、reader[1]。。。可以获取这一行某一列的数据。
      reder的放回值为bool值,如果返回为false即已经读到了最后一行了。
try
            {
                conn.Open();//开始连接数据库
                string sql = "select * from tablename";//sql命令
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                MySqlDataReader reader = cmd.ExecuteReader();
                reader.Read();
                Console.WriteLine(reader[0]);//打印第一行第一列的数据
            }
  • 插入
    插入即“增”数据,设定好MySql命令后,使用command命令即可实现增加数据的功能。
 void Insert()
            {
                string connectStr = "server=127.0.0.1;port=3306;database=mygame;user=root;password=root;";
                MySqlConnection conn = new MySqlConnection(connectStr);
                try
                {
                    conn.Open();
                    string sqlCmd = "insert into tablename(colname,colname...) values(value,value...)";
                    MySqlCommand mySqlCommand = new MySqlCommand(sqlCmd, conn);
                    int result = mySqlCommand.ExecuteNonQuery();//返回值为影响了几行数据
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
                finally
                {
                    conn.Close();
                }
            }
  • 更新数据
    更新数据即“改”数据,使用update的sql命令即可。
    注意,要更新的行数使用id或者不重复的值来区分一下。
 void update()
            {
                string connectStr = "server=127.0.0.1;port=3306;database=mygame;user=root;password=root;";
                MySqlConnection conn = new MySqlConnection(connectStr);
                try
                {
                    conn.Open();
                    string sqlCmd = "update tablename set colname='' ,colname='' where id=  ";//
                    MySqlCommand mySqlCommand = new MySqlCommand(sqlCmd, conn);
                    int result = mySqlCommand.ExecuteNonQuery();//返回值为影响了几行数据
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
                finally
                {
                    conn.Close();
                }
            }
  • 删除
    “删”数据,也很简单,使用delete命令指定表和行数之后就可以删除了。
     void delete()
                {
                    string connectStr = "server=127.0.0.1;port=3306;database=mygame;user=root;password=root;";
                    MySqlConnection conn = new MySqlConnection(connectStr);
                    try
                    {
                        conn.Open();
                        string sqlCmd = "delete from tablename where id=  ";
                        MySqlCommand mySqlCommand = new MySqlCommand(sqlCmd, conn);
                        int result = mySqlCommand.ExecuteNonQuery();//返回值为影响了几行数据
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                    finally
                    {
                        conn.Close();
                    }
                }

文章来源于互联网:C#直接连接MySql

发表评论