在CentOS系統下,使用C++連接數據庫通常需要使用數據庫提供的客戶端庫。以下是一些常見數據庫的C++連接操作:
首先,確保已經安裝了MySQL客戶端庫??梢允褂靡韵旅畎惭b:
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客戶端庫??梢允褂靡韵旅畎惭b:
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
注意:這里的示例代碼僅用于演示如何連接數據庫并執行簡單的查詢。實際應用中,需要根據具體需求編寫相應的代碼。