c++怎么连接MySQL数据库_c++连接MySQL数据库操作教程

首先安装mysql开发库并配置环境,然后使用MySQL Connector/C API编写c++程序连接数据库;通过mysql_init初始化、mysql_real_connect建立连接,mysql_query执行SQL语句,mysql_store_result获取结果集,mysql_fetch_row遍历数据,最后用mysql_free_result和mysql_close释放资源。

c++怎么连接MySQL数据库_c++连接MySQL数据库操作教程

要在C++中连接MySQL数据库,你需要使用MySQL官方提供的C API库——MySQL Connector/C。通过这个库,你可以在C++程序中执行SQL语句、查询数据、插入记录等操作。下面是一个完整的操作教程,帮助你快速实现C++连接MySQL。

1. 安装MySQL开发库

在开始前,确保你的系统已经安装了MySQL服务器和开发库:

  • windows:下载并安装 MySQL Installer,选择包含 “MySQL Server” 和 “MySQL Connector/C++” 或 “Development Libraries” 的组件。
  • linuxubuntu/debian
    sudo apt-get install libmysqlclient-dev
  • macOS(使用Homebrew):
    brew install mysql-client

2. 配置编译环境

确保你的编译器能找到MySQL的头文件和库文件。

  • 头文件路径一般为:/usr/include/mysqlC:Program FilesMySQLMySQL Server X.Xinclude
  • 库文件路径:/usr/lib/x86_64-linux-gnu/libmysqlclient.sowindows 下的 libmysql.lib

编译时需要链接 -lmysqlclient 库。

立即学习C++免费学习笔记(深入)”;

c++怎么连接MySQL数据库_c++连接MySQL数据库操作教程

阿里云-虚拟数字人

阿里云-虚拟数字人是什么? …

c++怎么连接MySQL数据库_c++连接MySQL数据库操作教程2

查看详情 c++怎么连接MySQL数据库_c++连接MySQL数据库操作教程

示例编译命令(Linux/macOS):
g++ main.cpp -o main -lmysqlclient

3. C++连接MySQL代码示例

以下是一个基本的C++程序,演示如何连接MySQL、执行查询并输出结果。

#include <iostream>
#include <mysql.h>

int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    // 初始化连接句柄
    conn = mysql_init(NULL);

    if (!conn) {
        std::cerr << “Error: MySQL init failedn”;
        return 1;
    }

    // 连接数据库
    if (!mysql_real_connect(conn, “localhost”, “root”, “password“, “testdb”, 3306, NULL, 0)) {
        std::cerr << “Error: ” << mysql_error(conn) << std::endl;
        mysql_close(conn);
        return 1;
    }

    // 执行查询
    if (mysql_query(conn, “select id, name FROM users”)) {
        std::cerr << “Query Error: ” << mysql_error(conn) << std::endl;
        mysql_close(conn);
        return 1;
    }

    res = mysql_store_result(conn);
    if (res == NULL) {
        std::cerr << “Store result error: ” << mysql_error(conn) << std::endl;
        mysql_close(conn);
        return 1;
    }

    // 遍历结果
    while ((row = mysql_fetch_row(res))) {
        std::cout << “ID: ” << row[0] << “, Name: ” << row[1] << std::endl;
    }

    // 释放资源
    mysql_free_result(res);
    mysql_close(conn);
    return 0;
}

4. 关键函数说明

  • mysql_init():初始化MySQL连接对象
  • mysql_real_connect():建立与MySQL服务器的实际连接,参数包括主机、用户名、密码、数据库名、端口等。
  • mysql_query():执行SQL语句(不能有分号)。
  • mysql_store_result():获取查询结果集。
  • mysql_fetch_row():逐行读取结果。
  • mysql_free_result()mysql_close():释放资源,避免内存泄漏。

注意:如果执行的是INSERT、UPDATE、delete语句,不需要获取结果集,可直接用 mysql_query() 后调用 mysql_affected_rows() 查看影响的行数。

基本上就这些。只要配置好开发环境,使用MySQL C API连接数据库并不复杂,但要注意错误处理和资源释放。

上一篇
下一篇
text=ZqhQzanResources