LinuxC++操作mysql数据库(#include <mysql/mysql.h>的使用)
#include <mysql/mysql.h>
#include <iostream>
#include <string>
int main() {
// 初始化连接
MYSQL *conn;
conn = mysql_init(NULL);
// 连接数据库
if (!mysql_real_connect(conn, "host_name", "user_name", "password", "db_name", 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 执行SQL查询
char *query = "SELECT * FROM table_name";
if (mysql_query(conn, query)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 获取结果集
MYSQL_RES *result = mysql_use_result(conn);
if (result) {
// 获取字段信息
MYSQL_FIELD *field;
while ((field = mysql_fetch_field(result))) {
std::cout << field->name << "\t";
}
std::cout << std::endl;
// 获取并打印记录
MYSQL_ROW row;
while ((row = mysql_fetch_row(result))) {
for (unsigned int i = 0; i < mysql_num_fields(result); i++) {
std::cout << row[i] << "\t";
}
std::cout << std::endl;
}
// 释放结果集
mysql_free_result(result);
}
// 关闭连接
mysql_close(conn);
return 0;
}
这段代码展示了如何在Linux下使用C++操作MySQL数据库。首先通过mysql_init
初始化连接,然后使用mysql_real_connect
连接到数据库。接着使用mysql_query
执行SQL查询,并通过mysql_use_result
获取结果集。通过循环使用mysql_fetch_field
和mysql_fetch_row
来获取字段信息和记录,最后释放结果集和关闭连接。这是操作MySQL数据库的基本流程。
评论已关闭