SQLite3 学习笔记:数据库基础、SQL 语句与 C 语言 API 详解
发布时间:2026/9/11 20:00:43 锦皓数字建站

数据库1 . 数据库文件与普通文件区别:1普通文件对数据管理(增删改查)效率低2数据库对数据管理效率高,使用方便2. 常用数据库:1.关系型数据库将复杂的数据结构简化为二维表格形式大型:Oracle、DB2中型:MySql、SQLServer小型:Sqlite2.非关系型数据库以键值对存储且结构不固定//JSONRedisMongoDB3. 嵌入式数据库sqlite3stu.db1.开源免费 c语言开发2.代码量少1万行左右总大小10M以内3.文件型数据库可以移动4.数据容量最大2T4. sqlite3的安装在线安装sudo apt-get install sqlite3sudo apt-get install libsqlite3-dev5. sqlite3相关命令创建数据库sqlite3 xxx.db.help .tables 查看数据库中的表名 .headers on/off 打开/关闭表头 .mode column 设置表左对齐 .quit 退出数据库6. sqlite3提供的SQL语句不区分大小写sqlite数据类型NULL 空类型INTEGER: 整数类型REAL 浮点型TEXT 字符串类型文本BLOB根据输入确定1. 创建数据库中的表create table 表名(列名1 数据类型1 列名2 数据类型2 列名3 数据类型3); CREATE TABLE 表名(列名1 数据类型1 列名2 数据类型2 列名3 数据类型3); create table class1(id INTEGER, name TEXT, score REAL);2. 插入数据库数据insert into 表名 values(值1 值2 值3); insert into class1 values(1, zhangsan, 88.5); TEXT类型的数据插入时需要用, 引起来。3. 查找数据库查找数据库中的所有数据 select * from 表名 查找指定列数据 select 列名1 列名2 from 表名 条件查找 select * from where 列 关系运算符 值 select * from where id1 ! 连接多个条件 and or 模糊查找 % 模糊匹配若干个字符 _ : 模糊匹配一个字符 select * from class1 where name like 马%; select * from class1 where name like 马__; 马冬梅 有序查找 select * from 表名 order by 列名 ASC //升序显示 select * from 表名 order by 列名 DESC //降序显示4. 删除数据库数据delete from 表名 where 条件;5. 修改数据库数据update 表名 set 列新值 where 条件6. 删除表drop table 表名;7. 主键值自动增长列create table 表名(列名 INTEGER PRIMARY KEY AUTOINCREMENT, 列名 数据类型);8. 数据库的可视化工具sudo apt-get install sqlitebrowser 打开数据库 sqlitebrowser xxx.db NavicatSqlite3 -》Windows数据库可视化工具7. sqlite3提供的c/c API接口-sqlite3_openint sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能打开一个数据库文件 参数 filename 数据库名称 ppDb 保存数据库句柄的指针 sqlite3 * 返回值 成功SQLITE_OK 失败错误码-sqlite3_errmsgconst char *sqlite3_errmsg(sqlite3* pdb); 功能获取当前数据库错误码对应的错误信息 参数 pdb 数据库句柄 返回值 错误信息字符串-sqlite3_execint sqlite3_exec( sqlite3* pdb, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *arg, /* 1st argument to callback */ char **errmsg /* Error msg written here */ );功能执行SQL语句参数pdb数据库句柄sql 要执行的SQL语句callback 回调函数当select查询时若查询到数据会触发回调函数执行arg 传递给callback的参数实参errmsg 保存出错信息返回值成功SQLITE_OK失败错误码int (*callback)(void *arg,int n,char**value,char**name)功能select查询到数据时执行的回调函数参数arg 由sqlite3_exec的第4个参数传递的参数值形参n select查询到的数据的列数value查找到的数据的每一列的值 char *value[];name : 查找到的数据列的表头 char *name[];返回值成功0失败!0注意callback必须要有返回值返回0表示正常当select查询数据时每找到一条数据callback就会被触发一次数据库中的数据通过select查询出时统一按照字符串处理
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。