使用C#对MySQL进行操作

本文详细介绍了如何在Windows上下载、安装和配置MySQL,包括设置环境变量、初始化数据库、安装服务以及开启服务。此外,还展示了如何在VS2022中引用MySql.Data.dll库,并提供了数据库连接及SQL操作的示例代码。通过这些步骤,读者可以成功在本地建立并运行MySQL数据库。
摘要由CSDN通过智能技术生成

1.下载并安装MySQL

2.配置环境变量

        1)右键我的电脑->属性->高级系统设置->环境变量。

        2)新建系统变量,变量名建议与MySQL相关,如MYSQL_HOME or MYSQL_PATH,变量值为安装路径。如图所示:

         3)修改Path变量。点击Path->编辑->新建,%MYSQL_PATH%\bin,其中,两个百分号中间的即为刚才设置的变量名,用于识别MySQL安装路径。

嘿嘿,我也不知道为什么要打码

         4)上述步骤是为了能在cmd中快速访问到MySQL所在路径,也不是必需。如果你不介意的话,可以每次打开cmd然后cd到对应文件夹,也不影响。

        5)打开MySQL安装目录,进去后应该能看到一个bin文件夹。在与bin文件夹同级处,新建一个my.ini配置文件,将下列信息输入。

[mysql]

#设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

#设置mysql的安装目录

basedir=E:\WorkSpace\3 MySql\mysql-8.0.19-winx64

#设置mysql数据库的数据的存放目录

datadir=E:\WorkSpace\3 MySql\mysql-8.0.19-winx64\data

#允许最大连接数

max_connections=20

#服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

#创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 调整mysql sql_mode以支持group by可以查出多个字段sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

        注意basedir与datadir应该修改为MySQL所在的安装目录,否则后续操作下可能导致报错。

        6)管理员身份运行cmd,初始化MySQL。输入指令 mysqld --initialize ,理论上啥都不会输出,如果报错,检查是否my.ini文件下的basedir和datadir路径出错。当然,也可以输入指令 mysqld --initialize --console ,这样输出会有好长一段,末尾会有账号密码,一般账号为root,密码需要记下来。

        7)初始化后,输入指令 mysqld --install ,输出 Service successfully installed 表明安装成功。

        8)开启MySQL服务。输入指令 net start mysql ,输出 MySQL服务已经启动成功 后,说明数据库已成功开启。

        9)关于MySQL具体指令,此处不表。至此,本机上的数据库已成功开启,可以进行下一步操作。

3.引用dll文件

        下载并引用MySql.Data.dll文件。下载该dll的方式有多种,可自行搜索,这里提供一种相当便捷的下载方法,适用于各类常用的dll文件的下载安装。

        在VS2022工程中,任意脚本函数中,输入 MySqlConnection msc = new MySqlConnection(); 

        由于类MySqlConnection是MySql.Data.dll中定义的,VS会报错。此时,启用VS的快捷操作和重构,可以找到安装MySql.Data,可以快速下载、并引用相应的dll文件。该方法对于市面上大部分dll文件适用。微软,yyds!!

4.具体API调用

        //data source 连接的主机ip,如果是本地主机,可以使用localhost
        //port MySQL统一使用3306端口号
        //database 选择连接的数据库,可以待连接之后进行更换
        //user 用户名
        //password 密码
        //charset 编码方式,使用utf8,跟my.ini保持一致,避免乱码
        //该语句中,所有参数位置可以任意调换,只要参数名保持一致即可
        private const string connectionStr =
            "data source = localhost; port = 3306; database = test1; user = root; password = yourPassword; charset = utf8;";

        public void TestMySql()
        {
            MySqlConnection msc = new MySqlConnection(connectionStr);
            msc.Open();

            //具体的sql语句,啥内容都行
            string sqlStr = "drop table student;";
            MySqlCommand cmd = new MySqlCommand(sqlStr, msc);

            //cmd.ExecuteNonQuery()方法执行了我们输入的sql语句
            //对于部分的sql语句而言,执行完后,会得到 QueryOK. r rows affected 的输出
            //这个r就是该方法的返回值
            //当然,对于没有该输出的方法而言,其返回值为-1
            int r = cmd.ExecuteNonQuery();

            msc.Close();
        }

调用前的数据库:

调用后的数据库:

 

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值