SQLite3

属性说明
类型嵌入式关系数据库引擎
许可证公共领域
仓库https://www.sqlite.org/

核心概念:SQLite 不是客户端-服务器数据库,而是一个直接读写磁盘文件的 C 库。整个数据库就是一个文件。

核心 API

函数说明
sqlite3_open打开(或创建)数据库文件
sqlite3_exec执行一条或多条 SQL
sqlite3_prepare_v2编译 SQL 为字节码(预编译语句)
sqlite3_step逐步执行预编译语句
sqlite3_column_int / text / double获取当前行的列值
sqlite3_bind_int / text / double绑定参数到预编译语句
sqlite3_close关闭数据库连接

典型用法

sqlite3 *db;
sqlite3_open("data.db", &db);
sqlite3_exec(db, "CREATE TABLE users(id INT, name TEXT)", 0, 0, 0);
 
sqlite3_stmt *stmt;
sqlite3_prepare_v2(db, "INSERT INTO users VALUES(?, ?)", -1, &stmt, 0);
sqlite3_bind_int(stmt, 1, 100);
sqlite3_bind_text(stmt, 2, "Alice", -1, SQLITE_STATIC);
sqlite3_step(stmt);
sqlite3_finalize(stmt);
sqlite3_close(db);

使用预编译语句(sqlite3_prepare_v2 + sqlite3_bind_*)而非字符串拼接以避免 SQL 注入。SQLite3 是世界上部署最广的数据库引擎。

跨语言参考: C标准库深度剖析