1.找到安装MySQL的目录
2.vs2022 右键打开属性
3.添加include 和 lib,注意一定要进去编辑,如果直接在当前框中修改可能会造成“无法打开 kernel32.lib”的报错(就是要选择从父级或者项目默认设置继承)。
4. 再添加上libmysql.lib这个依赖
5.把mysql安装目录里的lib\libmysql.dll复制到c:\windows\system32下
6.测试:
#include <stdio.h>
#include <mysql.h> // mysql 文件
int main(void) {
MYSQL mysql; //数据库句柄
MYSQL_RES* res; //查询结果集
MYSQL_ROW row; //记录结构体
//初始化数据库
mysql_init(&mysql);
//设置字符编码
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
//连接数据库
if (mysql_real_connect(&mysql, "127.0.0.1", "root",//数据库用户名root
//"password", "database_name" 替换成自己数据库登录密码 表所在的数据库名称
"password", "database_name", 3306, NULL, 0) == NULL) {
printf("错误原因: %s\n", mysql_error(&mysql));
printf("连接失败!\n");
exit(-1);
}
//查询数据
int ret = mysql_query(&mysql, "select * from student;");
//student是自己在数据库中所建的表名
printf("ret: %d\n", ret);
//获取结果集
res = mysql_store_result(&mysql);
//给 ROW 赋值,判断 ROW 是否为空,不为空就打印数据。
while (row = mysql_fetch_row(res)) {
printf("%s ", row[0]); //打印 ID
printf("%s ", row[1]); //打印姓名
printf("%s ", row[2]); //打印班级
printf("%s \n", row[3]);//打印性别
}
//释放结果集
mysql_free_result(res);
//关闭数据库
mysql_close(&mysql);
system("pause");
return 0;
}
参考链接:c\c++如何连接mysql数据库(超易上手)_mysql c++-CSDN博客
推荐链接:C/C++连接mysql(api接口方法详解)_mysql c++ api-CSDN博客
官方手册:MySQL :: MySQL 8.0 C API Developer Guide :: 5.2 C API Basic Data Structures