在CentOS系统下,使用C++连接数据库通常需要使用数据库提供的客户端库。以下是一些常见数据库的C++连接操作:
首先,确保已经安装了MySQL客户端库。可以使用以下命令安装:
sudo yum install mysql-devel
然后,创建一个C++文件(例如:mysql_example.cpp),并编写以下代码:
#include <iostream>
#include <mysql/mysql.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, "localhost", "username", "password", "database_name", 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "SHOW TABLES")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_store_result(conn);
while ((row = mysql_fetch_row(res))) {
std::cout << row[0] << std::endl;
}
mysql_free_result(res);
mysql_close(conn);
return 0;
}
编译并运行:
g++ mysql_example.cpp -o mysql_example -lmysqlclient
./mysql_example
首先,确保已经安装了PostgreSQL客户端库。可以使用以下命令安装:
sudo yum install postgresql-devel
然后,创建一个C++文件(例如:postgresql_example.cpp),并编写以下代码:
#include <iostream>
#include <pqxx/pqxx>
int main() {
pqxx::connection C("dbname=database_name user=username password=password hostaddr=127.0.0.1 port=5432");
if (C.is_open()) {
std::cout << "Opened database successfully: " << C.dbname() << std::endl;
} else {
std::cout << "Can't open database" << std::endl;
return 1;
}
pqxx::work W(C);
pqxx::result R = W.exec("SELECT * FROM table_name");
for (auto row : R) {
std::cout << row[0].as<std::string>() << std::endl;
}
W.commit();
return 0;
}
编译并运行:
g++ postgresql_example.cpp -o postgresql_example -lpqxx -lpq
./postgresql_example
注意:这里的示例代码仅用于演示如何连接数据库并执行简单的查询。实际应用中,需要根据具体需求编写相应的代码。