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两个文件

将其复制到项目下:
