使用mysqlclient库连接mysql
安装mysqlclient库
yum install mariadb mariadb-server mariadb-devel mariadb-libs luarocks lua-devel
yum group install "Development Tools"
例程
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include "mysql.h"
using namespace std;
int main() {
MYSQL *mysql = mysql_init(nullptr);
if (mysql == nullptr) {
cerr << "Mysql对象初始化失败!" << endl;
exit(-1);
}
clog << "Mysql对象初始化成功!" << endl;
MYSQL *conn = mysql_real_connect(mysql, "192.168.0.182", "remote", "Mysql_abc123", "test", 0, nullptr, 0);
if (conn == nullptr) {
cerr << mysql_error(mysql) << endl;
exit(-1);
}
clog << "Connect MySQL OK, [" << mysql << "], [" << conn << "]" << endl;
if (mysql_query(conn, "select * from test;") != 0) {
cerr << mysql_error(mysql) << endl;
} else {
MYSQL_RES *result = mysql_store_result(conn);
MYSQL_ROW row = nullptr;
uint col_num = mysql_num_fields(result);
uint row_num = mysql_num_rows(result);
cout << "行数:" << row_num << "\t列数:" << col_num << endl;
MYSQL_FIELD *fields = mysql_fetch_fields(result);
for (int i = 0; i < col_num; i++) {
cout << fields[i].name << '\t';
}
cout << endl;
while ((row = mysql_fetch_row(result)) != nullptr) {
cout << row[0] << "\t" << row[1] << "\t\t" << row[2] << endl;
}
mysql_free_result(result);
}
mysql_close(conn);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
2023-04-20 故障树分析方法