原创文章转载请注明出处!
首先你要先安装MySQL数据库,如果你没有安装可以直接去官网下载安装。
至于下载什么版本的根据个人需求,如果还没有学习MySQL的知识,可以去B站搜索MySQL的课程。然后就是需要开发工具,我安装的是visual studio 2019。

注:如果你是新手建议把MySQL安装到默认路径中。

简单介绍就是需要两样东西:

  1. MySQL数据库库
  2. visual studio 2019开发工具

下面就是vs的配置工作,vs并不能直接连接MySQL数据库的,需要先配置,才能连接数据库操作。

vs配置项如下:

  1. 把项目的解决方案调换成x64版本,这个根据你自己的平台而定,如果你安装的是32位就不要更换,如果你安装的是64位的就更换成x64。
    补充.png
  2. 在vs2019下新建一个c++项目,然后右击解决方案打开属性页面。
    vs配置第一步.png
  3. 点击vc++目录,把MySQL目录下的include路径,以及lib路径分别添加到包含目录项和库目录项里去。
    vs配置第二步.png
  4. 然后点击C/C++目录,选择常规,把include目录添加到附加包含目录选项中。
    vs配置第三步 .png
  5. 然后点击链接器,先择输入选项,把libmysql.lib文件添加到附加依赖项选项内,注意这次添加的是一个目录不是一个文件
    VS配置第四步.png
  6. 最后就是把lib目录下的libmysql.dll文件复制到你的项目的x64生成目录下。
    如:C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll --> ..\C++\mysql\x64\debug

注:上面的路径替换成你自己的路径

附上测试代码:

本段代码来自:https://blog.csdn.net/BlackCarDriver/article/details/91393341

#include<Windows.h>
#include<iostream>
#include<mysql.h>
#include<winsock.h>
using namespace std;

MYSQL mysql, * sock; //声明一个MySQL句柄

int main() {

const char* host = "127.0.0.1";    //数据库地址,本地数据库为127.0.0.1或者为localhost
const char* uesr = "root";    //连接的数据库用户名
const char* password = "1234";    //连接数据库的密码
const char* db = "employees";    //要连接的数据库的名字
unsigned int port = 3306;    //要连接数据库的端口号
const char *unix_socket = NULL;    //unix下参数,windows下设施为空
unsigned long clien_flag = 0;    //这个参数一般为零
const char* i_query = "select * from emmployees";    //查询语句

MYSQL_RES* result = NULL;    //保存结果集
MYSQL_ROW row;    //代表结果是集中一行的

mysql_init(&mysql);    //初始化数据库

if ((sock = mysql_real_connect(&mysql, host, uesr, password, db, port,unix_socket, clien_flag)) == NULL) {

    cout << "连接失败,原因是:" << mysql_errno(&mysql) << endl;

}
else {

    cout << "连接成功" << endl;

}
if (mysql_query(&mysql, i_query) != 0) {   //连接成功则开始查询

    cout << "查询失败" << endl;
    exit(-1);

}
else {

    if ((result == mysql_store_result(&mysql)) == NULL) //保存查询结果
    {
        cout << stderr << "保存结果失败" << endl;
        exit(-1);
    }
    else {

        while ((row = mysql_fetch_row(result)) != NULL) { //读取结果集中的数据,返回的是下一行,因为保存结果集时当前游标在第一行

            cout << row[0]; //打印当前行的第一列数据
            cout << row[1];    //打印当前行的第二列数据
        }

    }

}

mysql_free_result(result); //释放结果集
mysql_close(sock);    //关闭连接
system("pause");
exit(EXIT_SUCCESS);
    }
文章目录