如何快速转换B站缓存视频:m4s转MP4的完整指南
2025/12/30 5:54:09
数据库是用于存储和管理海量数据的系统,支持增删改查(CRUD)等操作。其层级结构为:数据库(DB)→ 表(行、列)→ 记录(行)→ 字段(列)。
关系型数据库
嵌入式数据库
以SQLite为例,特点如下:
SELECT、UPDATE等操作的对象。安装命令
sudo apt-get install sqlite3 libsqlite3-dev编译代码
gcc test.c -lsqlite3.database:查看关联的数据库文件。.table:列出所有表。.schema:显示建表语句。.header on:启用表头显示。.quit或.exit:退出交互环境。创建表
CREATE TABLE user(id INT, name CHAR, age INT);删除表
DROP TABLE user;插入数据
INSERT INTO user VALUES(3, "wang", 11);查询数据
SELECT * FROM user WHERE age > 20 OR age < 50;更新数据
UPDATE user SET id = 1 WHERE name = 'li';删除数据
DELETE FROM user WHERE id = 1 OR id = 2;核心函数
sqlite3_open:打开数据库连接。sqlite3_exec:执行SQL语句。sqlite3_close:关闭连接。示例代码
#include <sqlite3.h> #include <stdio.h> int main(int argc, char** argv) { sqlite3* db = NULL; int ret = sqlite3_open("123.db", &db); if (ret != SQLITE_OK) { fprintf(stderr, "Error: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1; } char* errmsg = NULL; char sql_cmd[512] = "INSERT INTO user VALUES(6, 'lvbu', 31);"; ret = sqlite3_exec(db, sql_cmd, NULL, NULL, &errmsg); if (ret != SQLITE_OK) { fprintf(stderr, "SQL error: %s\n", errmsg); sqlite3_free(errmsg); } sqlite3_close(db); return 0; }sqlite3_open和sqlite3_exec的返回值,通过sqlite3_errmsg获取错误信息。sqlite3_close和sqlite3_free避免内存泄漏。通过上述内容可快速掌握SQLite的基础操作与编程方法。