在现代软件开发中,C++连接MySQL 是一个非常常见的需求。无论是开发桌面应用、服务器后端还是嵌入式系统,掌握如何通过 C++ 与 MySQL 数据库进行交互都是至关重要的技能。本文将手把手教你使用官方推荐的 MySQL Connector/C++ 来实现 C++ 与 MySQL 的连接、查询和操作,即使是编程小白也能轻松上手!
MySQL Connector/C++ 是由 Oracle 官方提供的 C++ 驱动程序,用于让 C++ 应用程序能够连接并操作 MySQL 数据库。它基于 JDBC(Java Database Connectivity)风格设计,提供了面向对象的 API,支持 SQL 查询、事务处理、预编译语句等高级功能。
在开始编码前,你需要完成以下准备工作:
以 Ubuntu 系统为例,你可以使用以下命令安装:
sudo apt updatesudo apt install libmysqlcppconn-dev mysql-server
下面我们将编写一个简单的 C++ 程序,连接本地 MySQL 数据库,并执行一条 SELECT 查询。这个例子涵盖了 C++数据库编程 的基本流程。
#include <iostream>#include <mysql_driver.h>#include <mysql_connection.h>#include <cppconn/statement.h>#include <cppconn/resultset.h>using namespace std;int main() { try { sql::mysql::MySQL_Driver *driver; sql::Connection *con; // 创建驱动实例 driver = sql::mysql::get_mysql_driver_instance(); // 连接数据库(参数:host, user, password) con = driver->connect("tcp://127.0.0.1:3306", "root", "your_password"); // 选择数据库 con->setSchema("test_db"); // 创建语句对象 sql::Statement *stmt = con->createStatement(); // 执行查询 sql::ResultSet *res = stmt->executeQuery("SELECT id, name FROM users LIMIT 5"); // 遍历结果集 while (res->next()) { cout << "ID: " << res->getInt("id") << ", Name: " << res->getString("name") << endl; } // 释放资源 delete res; delete stmt; delete con; } catch (sql::SQLException &e) { cout << "MySQL 错误: " << e.what() << endl; cout << "错误代码: " << e.getErrorCode() << endl; } return 0;}
保存上述代码为 main.cpp,然后使用以下命令编译(Linux/macOS):
g++ -o main main.cpp -lmysqlcppconn
运行程序:
./main
如果一切顺利,你将看到从 users 表中查询出的前5条记录。
libmysqlcppconn-dev 并在编译时链接 -lmysqlcppconn。ResultSet、Statement 和 Connection 对象,避免内存泄漏。sql::SQLException,提高程序健壮性。通过本教程,你已经掌握了使用 MySQL Connector/C++ 实现 C++连接MySQL 的基本方法。这是 MySQL C++ API 编程的第一步,后续你可以探索更高级的功能,如预编译语句(PreparedStatement)、事务控制、连接池等。希望这篇 C++数据库编程 入门指南能为你打下坚实基础!
如有疑问,欢迎在评论区交流!
本文由主机测评网于2025-12-18发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025129490.html