SQLite 是一种 C 语言库,用于操作磁盘上的数据库,不需要单独的服务器进程。以下是一些基本的 SQLite 编程步骤和示例代码:
1. 准备工作
首先,确保你已经安装了 SQLite 库。在 Linux 或 macOS 上,可以使用包管理器安装:
```sh
Ubuntu/Debian
sudo apt install libsqlite3-dev
macOS
brew install sqlite3
Windows
vcpkg install sqlite3
```
2. 连接数据库并创建表
```c
include include include 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 *errorMessage = 0; int connection; connection = sqlite3_open("test.db", &db); if (connection) { fprintf(stderr, "无法打开数据库: %s\n", sqlite3_errmsg(db)); return 0; } char *sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL, age INTEGER)"; connection = sqlite3_exec(db, sql, callback, 0, &errorMessage); if (connection != SQLITE_OK) { fprintf(stderr, "SQL 错误: %s\n", errorMessage); sqlite3_free(errorMessage); } sqlite3_close(db); return 0; } ``` 3. 插入数据 ```c char *sql = "INSERT INTO users (name, email, age) VALUES ('张三', 'zhangsan@example.com', 25)"; connection = sqlite3_exec(db, sql, callback, 0, &errorMessage); if (connection != SQLITE_OK) { fprintf(stderr, "SQL 错误: %s\n", errorMessage); sqlite3_free(errorMessage); } ``` 4. 查询数据 ```c char *sql = "SELECT * FROM users WHERE age > 20"; connection = sqlite3_exec(db, sql, callback, 0, &errorMessage); if (connection != SQLITE_OK) { fprintf(stderr, "SQL 错误: %s\n", errorMessage); sqlite3_free(errorMessage); } ``` 5. 关闭数据库 在完成所有数据库操作后,不要忘记关闭数据库连接: ```c sqlite3_close(db); ``` 总结 以上示例展示了如何使用 C 语言和 SQLite 库进行基本的数据库操作,包括连接数据库、创建表、插入数据、查询数据和关闭数据库。你可以根据自己的需求扩展这些示例,进行更复杂的数据库操作。