C++程序要连接MySQL数据库

C++程序要连接MySQL数据库,分别需要:
1.安装MySQL Server
2.在IDE中配置依赖
3.在代码中调用MySQL库

一、安装MySQL Server
1.在浏览器里打开MySQL的官网http://www.mysql.com/
2.进入页面顶部的"Downloads"
C++程序要连接MySQL数据库_第1张图片
3.打开页面底部的“MySQL Community(GPL) Downloads”
C++程序要连接MySQL数据库_第2张图片
4.点击MySQL Installer for Windows,在Windows安装MySQL
C++程序要连接MySQL数据库_第3张图片
5.上面比较小的是在线安装,下面大的是离线安装。这里果断选择离线安装。
注意:MSI格式是指windows的安装程序,下载后直接双击就能进入安装向导的那种,区别于对文件进行解压的安装方式;
C++程序要连接MySQL数据库_第4张图片
6.这个页面告诉询问你是否登录,告诉你登录之后有哪些好处,我们不登录,点击页面底部的“No thanks, just start my download.”按钮进入下载页面(直接下载速度太慢,用迅雷下载会快很多)
C++程序要连接MySQL数据库_第5张图片
7.下载完成后打开选择Custom(或者Server only)
(建议只安装数据库服务器,不要选系统默认的,否则会默认下载很多与mysql相关的软件!)
Developer Default(系统默认)——安装MySQL开发所需的所有产品
Server only(仅服务器)——只安装MySQL服务器产品
Client only(仅客户端)——只安装MySQL客户端产品
FUll(完全的)——安装所有包含的MySQL产品和特性
Custom(自定义)——手动选择安装在系统上的产品
C++程序要连接MySQL数据库_第6张图片
C++程序要连接MySQL数据库_第7张图片
8.把MySQL Serve添加到右侧,点击Next(这里的Development Coponents对应的是接下来C++程序要链接的动态库libmysql.dll)
C++程序要连接MySQL数据库_第8张图片
9.一直next直到在Root Account Password设置数据库root账号的密码,输入完密码后点Next
C++程序要连接MySQL数据库_第9张图片
10.设置名称,并取消开机启动
C++程序要连接MySQL数据库_第10张图片
11.一直next然后Finish
C++程序要连接MySQL数据库_第11张图片
12.测试安装是否成功,打开菜单,打开MySQL命令行
C++程序要连接MySQL数据库_第12张图片
13.输入密码(密码错误会自动退出)
C++程序要连接MySQL数据库_第13张图片
14.安装成功
C++程序要连接MySQL数据库_第14张图片
二、在IDE中配置依赖
1.先将配置调成x64,因为我们下载的是x64的MySQL
C++程序要连接MySQL数据库_第15张图片
2.然后点击工具栏的项目,打开项目属性
C++程序要连接MySQL数据库_第16张图片
3.点击C/C++—》常规—》附录包含目录,点编辑
C++程序要连接MySQL数据库_第17张图片
4.把include路径添加进去,我的是C:\Program Files\MySQL\MySQL Server 8.0\include,include里面包含了mysql.h等头文件
C++程序要连接MySQL数据库_第18张图片
5.点击链接—》常规—》附加库目录,点编辑
C++程序要连接MySQL数据库_第19张图片
6.把lib路径添加进去,我的是C:\Program Files\MySQL\MySQL Server 8.0\lib
C++程序要连接MySQL数据库_第20张图片
三、在代码中调用MySQL库
1.测试代码:

#include
#include 

#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"libmysql.lib")

int main()
{
    std::cout << "Hello World!\n";
    //Link Mysql
    MYSQL* conn;
    MYSQL_RES* res;
    MYSQL_ROW row;
    const char* server = "localhost";
    const char* user = "root";
    const char* password = "Password";  // got tot keep my data secret
    const char* database = "Database";
    conn = mysql_init(NULL);

    // connect to database
    if (!mysql_real_connect(conn, server, user, password, database, 3306, NULL, 0))
    {
        std::cout << stderr << "%s\n" << mysql_error(conn);
        return -1;
    }

    // send SQL query
    if (mysql_query(conn, "select * from tables"))
    {
        std::cout << stderr << "%s\n" << mysql_error(conn);
        return -1;
    }

    res = mysql_use_result(conn);

    // output table name
    while ((row = mysql_fetch_row(res)) != NULL)
    {
        printf("%s %s %s %s\n", row[0], row[1], row[2], row[3]);
    }

    // close connection
    mysql_free_result(res);
    mysql_close(conn);
}

2.报错找不到libmysql.dll,找到libmysql.dll(C:\Program Files\MySQL\MySQL Server 8.0\lib),复制到项目工程里(或者复制到C:\Windows\System32)
C++程序要连接MySQL数据库_第21张图片
C++程序要连接MySQL数据库_第22张图片
C++程序要连接MySQL数据库_第23张图片
3.运行成功
C++程序要连接MySQL数据库_第24张图片

参考链接:
https://blog.csdn.net/zhouzezhou/article/details/52446608
https://www.csdn.net/gather_29/MtTaIgwsMDM1MC1ibG9n.html
https://blog.csdn.net/TonyWangAlfa/article/details/104789271

你可能感兴趣的:(C++程序要连接MySQL数据库)