在嵌入式开发、桌面应用或小型项目中,C语言 SQLite3 使用教程 是开发者必须掌握的基础技能之一。SQLite 是一款轻量级、无需独立服务器的嵌入式数据库,非常适合资源受限的环境。本文将手把手教你如何在 C 语言中使用 SQLite3 库进行数据库操作,即使你是编程新手也能轻松上手。

在开始编码前,你需要确保系统中已安装 SQLite3 的开发库。
Ubuntu/Debian 系统:
sudo apt-get updatesudo apt-get install libsqlite3-dev
CentOS/RHEL 系统:
sudo yum install sqlite-devel
安装完成后,你就可以在 C 程序中通过 #include <sqlite3.h> 引入 SQLite3 的 API 了。
下面是一个完整的示例,展示如何用 C 语言创建一个 SQLite 数据库,建表,并插入一条记录。这个例子涵盖了 SQLite3 C API 入门 的核心流程。
#include <stdio.h>#include <stdlib.h>#include <sqlite3.h>// 回调函数:用于处理查询结果static int callback(void *data, int argc, char **argv, char **azColName) { for (int i = 0; i < argc; i++) { printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); } printf("\n"); return 0;}int main() { sqlite3 *db; char *err_msg = 0; // 打开或创建数据库 int rc = sqlite3_open("test.db", &db); if (rc != SQLITE_OK) { fprintf(stderr, "无法打开数据库: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1; } // 创建表 const char *sql_create_table = "CREATE TABLE IF NOT EXISTS users (" "id INTEGER PRIMARY KEY AUTOINCREMENT," "name TEXT NOT NULL," "age INTEGER);"; rc = sqlite3_exec(db, sql_create_table, 0, 0, &err_msg); if (rc != SQLITE_OK) { fprintf(stderr, "SQL 错误: %s\n", err_msg); sqlite3_free(err_msg); sqlite3_close(db); return 1; } // 插入数据 const char *sql_insert = "INSERT INTO users (name, age) VALUES ('张三', 25);"; rc = sqlite3_exec(db, sql_insert, 0, 0, &err_msg); if (rc != SQLITE_OK) { fprintf(stderr, "插入失败: %s\n", err_msg); sqlite3_free(err_msg); sqlite3_close(db); return 1; } printf("数据插入成功!\n"); // 查询数据 const char *sql_select = "SELECT * FROM users;"; rc = sqlite3_exec(db, sql_select, callback, 0, &err_msg); if (rc != SQLITE_OK) { fprintf(stderr, "查询失败: %s\n", err_msg); sqlite3_free(err_msg); } // 关闭数据库 sqlite3_close(db); return 0;}将上述代码保存为 sqlite_demo.c,然后使用以下命令编译:
gcc sqlite_demo.c -lsqlite3 -o sqlite_demo
注意:必须链接 -lsqlite3 库,否则会报未定义引用错误。
运行程序:
./sqlite_demo
如果一切正常,你会看到输出:
数据插入成功!id = 1name = 张三age = 25
sqlite3_open():打开或创建数据库文件。sqlite3_exec():执行 SQL 语句,可用于建表、插入、更新、删除和查询。sqlite3_close():关闭数据库连接,释放资源。callback 函数:当执行 SELECT 查询时,每行结果都会调用此函数。在实际项目中,为了安全性和性能,推荐使用 sqlite3_prepare_v2()、sqlite3_bind_* 和 sqlite3_step() 等函数构建预编译语句。这不仅能防止 SQL 注入,还能提升重复执行的效率,是 C语言操作SQLite数据库 的最佳实践。
通过本教程,你已经掌握了如何在 C 语言中使用 SQLite3 库进行基本的数据库操作。SQLite 作为一款优秀的 SQLite3嵌入式数据库C语言 解决方案,因其零配置、跨平台和高可靠性,被广泛应用于各类项目中。
建议你动手尝试修改示例代码,比如添加更多字段、实现用户输入功能,或封装成更模块化的函数。实践是掌握 C语言 SQLite3 使用教程 的最佳方式!
本文由主机测评网于2025-12-23发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251212066.html