C++ 连接 MySQL

Clion下使用C++连接MySQL

Cmakelist:

cmake_minimum_required(VERSION 3.19)
project(MySQL)
include_directories("C:/Program Files/MySQL/MySQL Server 8.0/include") #替换成自己的路径
link_directories("C:/Program Files/MySQL/MySQL Server 8.0/lib") #替换成自己的路径
link_libraries(libmysql)

set(CMAKE_CXX_STANDARD 14)

add_executable(MySQL main.cpp)
target_link_libraries(MySQL libmysql)

示例代码:

#include <iostream>
#include "mysql.h"
int main() {

    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;


    conn = mysql_init(NULL);
    //连接到数据库 第一个参数是前面的对象第4行生成的对象名 host 为主机地址 本机就是localhost user为数据库用户名称 passwd为密码
    if (!mysql_real_connect(conn, "localhost", "root", "**********", "robomaster", 3306, NULL, 0)) {
        std::cout << "Error: " << mysql_error(conn) << std::endl;
        return 1;
    }

    // 设置字符集--注意与数据库字符集相同
    if (mysql_set_character_set(conn, "utf8")) {
        std::cout << "Error: " << mysql_error(conn) << std::endl;
        return 1;
    }

    //查询数据  username是表名称
    if (mysql_query(conn, "SELECT * FROM username")) {
        std::cout << "Error: " << mysql_error(conn) << std::endl;
        return 1;
    }

    res = mysql_use_result(conn);

    //输出查询到的数据
    while ((row = mysql_fetch_row(res)) != NULL) {
        std::cout << row[0] << " " << row[1] <<" " << row[2] <<std::endl;
    }

    mysql_free_result(res);
    mysql_close(conn);
    return 0;
}

如果失败请注意自己的路径是否有问题,不允许有中文路径的出现

路径没有问题的话,在MySQL的安装目录下找到lib下的libmysql.dll和libmysql.lib两个文件

将其复制到项目下:

results matching ""

    No results matching ""