news 2026/5/24 23:25:18

SQLite数据库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQLite数据库

1.SQLite简介

轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂。
• SQLite是一个无服务器的数据库,是自包含的(可以SQLite理解为一个"文件")。这也称为嵌入式数据库,这意味着数据库引擎作为 应用程序的一部分运行。

1.1 安装

1. 把下载的文件sqlite-autoconf-3390000.tar.gz上传到开发板 2. tar xvf sqlite-autoconf-3390000.tar.gz 解压 3. cd sqlite-autoconf-3390000 进入文件夹 4. ./configure --prefix=/usr/local 配置安装路径在/usr/local 5. make 编译//比较久10分钟 6. sudo make install 安装

2. SQLite语句

2.1 创建数据库

方式一 sqlite3 进入数据库 .open test.db .quit 数据库退出后在命令当前路径创建数据库test.db。 方式二 sqlite3 test.db //在命令运行当前窗口创建数据库test.db //在数据库命令下 .databases 列出当前打开的数据库 .quit 退出

2.2 其他语句

1. 创建一张表格: create table stu2(id Integer,name char,score Integer); 2. 插入一条记录: insert into stu values(18130106,'huang',99); insert into stu2 values(18130101,"gang",100); ''和""都行 insert into stu(name,score) values("huanggang",98); 插入部分字段内容 3. 查看数据库的记录 select * from stu; //查询所有字段的结果 select name,score from stu; //查询数据库中部分字段的内容 4. 删除一条记录 delete from stu where id = 18130101; 5. 更改一条记录 update stu set name = 'huangg' where id = 18130106; 6. 删除一张表 drop table stu; 7. 增加一列 alter table stu add column sex char;

3.SQLite的编程操作

1. sqlite3_open(const char *filename, sqlite3 **ppDb) : 该例程打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象。 2. sqlite3_close(sqlite3*) : 该例程关闭之前调用 sqlite3_open() 打开的数据库连接。所有与连接相关的语句都应在连接关闭之前完 成。如果还有查询没有完成,sqlite3_close() 将返回 SQLITE_BUSY 禁止关闭的错误消息。 3. const char *sqlite3_errmsg(sqlite3*) : sqlite3_errcode() 通常用来获取最近调用的API接口返回的错误代码。 4. sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg) : 该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。 在这里,第一个参数 sqlite3 是打开的数据库对象,sqlite_callback 是一个回调,data 作为其第一个 参数,errmsg 将被返回用来获取程序生成的任何错误。 sqlite3_exec() 程序解析并执行由 sql 参数所给的每个命令,直到字符串结束或者遇到错误为止。 int callback(void *arg, int column_size, char *column_value[], char *column_name[]) 参数分析:void *arg:是sqlite3_exec函数的第四个参数 column_size:数据库的字段 数 column_value[]:列的值 column_name:字段名字

这是错误代码,如图:

• 代码

#include <stdio.h> #include <sqlite3.h> int callback(void *arg, int column_size, char *column_value[], char *column_name[]){ int i; printf("arg=%s\n",(char *)arg); for(i=0;i<column_size;i++){ printf("%s = %s\n", column_name[i], column_value[i]); } printf("=======================\n"); return 0;//必须返回0,这样数据库中有多少条数据,这个回调函数就会被调用多少次 } int main(char argc, char **argv){ sqlite3 *db; char *errorMes = NULL; int ret; if(argc < 2){ printf("Usage: %s xxx.db\n",argv[0]); return -1; } if( (ret = sqlite3_open(argv[1],&db)) == SQLITE_OK){ printf("open %s success\n",argv[1]); }else{ printf("error:%s,%d\n",sqlite3_errmsg(db),ret); if(ret == 14){ printf("permission den\n"); } return -1; } //sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg) sqlite3_exec(db, "select * from stu;",callback, "content of sql:", &errorMes);//errorMes 不会发生段错误,会分配空间的 sqlite3_close(db); printf("done\n"); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 23:24:42

“光能智测”太阳能预测技术——融合WRF-Solar与多源数据的短-中长期预报实战

在全球能源体系加速转型、可再生能源大规模并网的背景下&#xff0c;太阳能发电的间歇性与波动性对电力系统安全稳定运行构成重大挑战。提升太阳能资源预测的精度与时效性&#xff0c;已成为支撑新型电力系统建设、保障国家能源安全的关键环节。我国地域广阔、大气环境复杂&…

作者头像 李华
网站建设 2026/5/20 17:01:01

【计算机毕业设计案例】基于springboot+bs架构的浙江艾艺塑业设计公司网站设计与实现(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/20 17:01:02

2026年毕业论文降AI工具推荐:学长亲测这4款通过率最高

2026年毕业论文降AI工具推荐&#xff1a;学长亲测这4款通过率最高 答辩前一周被打回来改AI率&#xff0c;这种体验我太熟悉了。去年帮了十几个学弟学妹处理毕业论文的AI率问题&#xff0c;总结出来的经验分享给你们。 先说结论&#xff1a;嘎嘎降AI&#xff08;www.aigcleane…

作者头像 李华
网站建设 2026/5/20 20:12:27

3款降AI工具实测对比:比话、嘎嘎、率零哪个效果好

3款降AI工具实测对比&#xff1a;比话、嘎嘎、率零哪个效果好 选降AI工具选到头疼&#xff1f;我用同一篇论文测了三款热门工具&#xff0c;把价格、效果、使用体验都对比了一遍&#xff0c;帮你省掉踩坑的时间。 先说结论&#xff1a;嘎嘎降AI效果最好&#xff0c;比话降AI保…

作者头像 李华
网站建设 2026/5/20 19:52:56

探索大数据领域数据架构的最佳实践

探索大数据领域数据架构的最佳实践&#xff1a;构建高效数据体系 摘要/引言 在当今数字化时代&#xff0c;数据量呈爆炸式增长&#xff0c;大数据技术已成为企业获取竞争优势的关键。然而&#xff0c;构建一个高效、可扩展且稳健的数据架构并非易事。本文旨在解决大数据领域中…

作者头像 李华
网站建设 2026/5/21 20:02:48

开源版 Coze 入门指导手册

开源版 Coze是干什么的&#xff1f; 开源版 Coze&#xff08;项目名&#xff1a;Coze Studio&#xff09;是字节跳动正式开源的 AI 智能体&#xff08;AI Agent&#xff09;开发平台&#xff0c;旨在为开发者提供一个 低代码/零代码、全栈、生产就绪 的本地化 AI 应用构建环境…

作者头像 李华