一、C++连接MySQL数据库简介
C++是一门非常流行的编程语言,除了可以进行基本的编程外,它还可以连接多种数据库进行数据操作,其中之一就是MySQL数据库。在本篇文章中,我们将讲解如何使用C++连接并操作MySQL数据库,并提供用C++语言的示例代码。
二、安装MySQL C++ Connector
在使用C++连接MySQL数据库之前,需要先安装MySQL C++ Connector。MySQL官方为各种操作系统都提供了跨平台版本的库文件,开发者可以根据不同的操作系统选择下载并安装。安装过程略去不提,具体可以参考官方指南。
三、连接MySQL数据库
在开始连接MySQL数据库之前,需要把MySQL C++ Connector的头文件复制到代码工程目录,并在编译器中添加包含目录和链接库文件。
//引入必要的头文件
#include <iostream>
#include <cppconn/driver.h>
#include <cppconn/connection.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
#include <cppconn/resultset.h>
using namespace std;
using namespace sql;
int main(int argc, const char * argv[])
{
//定义数据库连接指针和数据集指针
Driver* driver;
Connection* con;
Statement* st;
ResultSet* res;
//从驱动中获取一个连接
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "你的密码");
//选择要操作的数据库
con->setSchema("你的数据库名");
//输出连接信息
cout << "DATABASE connection...OK!"<<endl;
//关闭数据库连接
delete res;
delete st;
delete con;
return 0;
}
在以上代码中,get_driver_instance()函数返回一个指向MySQL驱动程序的指针,它是用于连接数据库的一个实例。连接信息包括IP地址、连接的端口、用户名和密码。setSchema()函数选择要操作的数据库。连接成功后,输出连接信息表示连接成功,并关闭数据库连接。
四、使用C++从MySQL数据库中读取数据
下面是一个示例代码,它从MySQL数据库表中读取数据。
//引入必要的头文件
#include <iostream>
#include <cppconn/driver.h>
#include <cppconn/connection.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
#include <cppconn/resultset.h>
using namespace std;
using namespace sql;
int main(int argc, const char * argv[])
{
//定义数据库连接指针和数据集指针
Driver* driver;
Connection* con;
Statement* st;
ResultSet* res;
//从驱动中获取一个连接
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "你的密码");
//选择要操作的数据库
con->setSchema("你的数据库名");
//查询语句
st = con->createStatement();
res = st->executeQuery("SELECT * FROM 你的表名");
//输出查询结果
while (res->next()) {
cout << res->getInt("ID") << " ";
cout << res->getString("NAME") << " ";
cout << res->getString("PASSWORD") << " ";
cout << res->getInt("AGE") << endl;
}
//关闭数据库连接
delete res;
delete st;
delete con;
return 0;
}
以上示例代码中,通过executeQuery()函数执行查询语句,返回的数据将保存在ResultSet对象中,通过while循环依次输出查询结果。
五、使用C++向MySQL数据库中添加数据
如下是一个示例代码,它向MySQL数据库中添加数据。
//引入必要的头文件
#include <iostream>
#include <cppconn/driver.h>
#include <cppconn/connection.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
#include <cppconn/resultset.h>
using namespace std;
using namespace sql;
int main(int argc, const char * argv[])
{
//定义变量
int id = 3;
string name = "Lucy";
string password = "123456";
int age = 22;
//定义数据库连接指针和数据集指针
Driver* driver;
Connection* con;
PreparedStatement* pstmt;
//从驱动中获取一个连接
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "你的密码");
//选择要操作的数据库
con->setSchema("你的数据库名");
//添加语句
string sql = "INSERT INTO 你的表名(ID,NAME,PASSWORD,AGE) VALUES(?,?,?,?)";
pstmt = con->prepareStatement(sql);
pstmt->setInt(1,id);
pstmt->setString(2,name);
pstmt->setString(3,password);
pstmt->setInt(4,age);
//执行添加语句
pstmt->execute();
//输出插入结果
cout<<"Insert into "<<pstmt->rowsUpdated()<<" rows."<<endl;
//关闭数据库连接
delete pstmt;
delete con;
return 0;
}
以上示例代码用到了PreparedStatement类来指定插入语句,设置占位符并绑定实际值,使用execute()函数执行插入语句,并利用rowsUpdated()函数输出插入的结果行数。
六、总结
以上便是使用C++连接并操作MySQL数据库的完整攻略,我们通过安装MySQL C++ Connector并编写示例代码,讲解了如何实现连接数据库和对数据库进行数据操作。本文提供了两个示例代码来帮助大家加深理解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++连接并使用MySQL数据库 - Python技术站