Products
96SEO 2025-08-30 09:12 2
在开发过程中,将C程序连接到数据库是一个常见的需求。Ubuntu操作系统因其稳定性和广泛的应用而被许多开发者所青睐。本文将详细介绍如何在Ubuntu环境下将C程序连接到不同的数据库, 包括MySQL、PostgreSQL、MongoDB和SQLite。
在开始之前, 请确保您的Ubuntu系统已安装以下软件: - GCC编译器 - MySQL、PostgreSQL、MongoDB或SQLite数据库
安装方法如下:
bash
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install mysql-server
sudo apt-get install postgresql
sudo apt-get install mongodb
sudo apt-get install sqlite3
MySQL是一个开源的关系型数据库管理系统。
c
int main { MYSQL *conn; conn = mysql_init;
// 连接数据库
if ) {
fprintf);
exit;
}
// 施行SQL查询
if ) {
fprintf);
exit;
}
MYSQL_RES *res = mysql_store_result;
// 输出查询后来啊
while ) != NULL) {
std::cout < row < std::endl;
}
// 清理
mysql_free_result;
mysql_close;
return 0;
}
编译上述代码时 需要链接MySQL客户端库:
bash
g++ -o myapp -lmysqlclient
请和SQL语句。如果使用第三方库,还需要根据库的文档进行相应的配置和编译。
PostgreSQL是一个功能强大的开源关系型数据库管理系统。
int main { PGconn *conn; conn = PQconnectdb;
if != CONNECTION_OK) {
fprintf);
PQfinish;
exit;
}
// 施行SQL查询
PGresult *res = PQexec;
if != PGRES_TUPLES_OK) {
fprintf);
PQclear;
PQfinish;
exit;
}
// 输出查询后来啊
for ; i++) {
std::cout < PQgetvalue < std::endl;
}
// 清理
PQclear;
PQfinish;
return 0;
编译上述代码时 需要链接libpq库:
bash
g++ -o myapp -lpq
MongoDB是一个高性能、可 的文档存储数据库。
cpp
int main { mongocxx::instance inst{&mongocxx::uri{}}; mongocxx::client client{inst};
auto collection = client;
// 插入文档
bsoncxx::builder::stream::document doc;
doc < "name" < "John Doe" < "age" < 30;
auto insert_result = collection.insert_one);
// 查询文档
auto cursor = collection.find;
for {
std::cout < bsoncxx::to_json < std::endl;
}
return 0;
编译上述代码时 需要链接libmongocxx库:
bash
g++ -o myapp -I/usr/local/include -L/usr/local/lib -lmongocxx
int main { sqlite3 *db; char *errmsg = 0; int rc = sqlite3open;
if {
fprintf);
sqlite3_close;
return 1;
}
char *sql = "CREATE TABLE IF NOT EXISTS COMPANY("
"ID INT PRIMARY KEY NOT NULL,"
"不结盟E TEXT NOT NULL,"
"AGE INT NOT NULL,"
"ADDRESS CHAR)";
rc = sqlite3_exec;
if {
fprintf;
sqlite3_free;
} else {
fprintf;
}
sqlite3_close;
return 0;
本文介绍了如何在Ubuntu环境下将C程序连接到MySQL、 PostgreSQL、MongoDB和SQLite数据库。通过使用相应的数据库API和C++驱动,您可以根据自己的需求选择合适的数据库。希望本文能对您有所帮助。
Demand feedback