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();
}
调用前的数据库:
调用后的数据库: