首页 > 后端开发 > C++ > 正文

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

尼克
发布: 2025-10-27 17:47:02
原创
213人浏览过
首先安装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" 的组件。
  • Linux(Ubuntu/Debian)
    sudo apt-get install libmysqlclient-dev
  • macOS(使用Homebrew):
    brew install mysql-client

2. 配置编译环境

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

  • 头文件路径一般为:/usr/include/mysqlC:\Program Files\MySQL\MySQL Server X.X\include
  • 库文件路径:/usr/lib/x86_64-linux-gnu/libmysqlclient.so 或 Windows 下的 libmysql.lib

编译时需要链接 -lmysqlclient 库。

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

阿里云-虚拟数字人
阿里云-虚拟数字人

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

阿里云-虚拟数字人2
查看详情 阿里云-虚拟数字人

示例编译命令(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 failed\n";
        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连接数据库并不复杂,但要注意错误处理和资源释放。

以上就是c++++怎么连接MySQL数据库_c++连接MySQL数据库操作教程的详细内容,更多请关注php中文网其它相关文章!

c++速学教程(入门到精通)
c++速学教程(入门到精通)

c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号