当前位置: 首页 > news >正文

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; }
http://www.jsqmd.com/news/327556/

相关文章:

  • 【计算机毕业设计案例】网上蛋糕商城web项目的设计与实现基于JavaWeb的原色蛋糕商城的设计与实现(程序+文档+讲解+定制)
  • 计算机Java毕设实战-基于springboo+vue的旅游自驾游攻略方案分享系统基于Java的自驾游攻略查询系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【计算机毕业设计案例】基于Java的自驾游攻略查询系统的设计与实现酒店信息查询、客房与门票预订、预定取消、个性化旅游线路规划(程序+文档+讲解+定制)
  • vue3-openlayers 演示项目
  • 计算机Java毕设实战-基于Java网上蛋糕商城系统设计与实现基于JavaWeb的原色蛋糕商城的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • preparation
  • 【课程设计/毕业设计】基于Web的自驾游旅游攻略网站设计与实现基于Java的自驾游攻略查询系统的设计与实现【附源码、数据库、万字文档】
  • Nginx1.25 编译最新ngx_brotli问题记录
  • vue3-openlayers基础知识简介
  • 颠覆传统编程:MonkeyCode AI 让 AI 成为工程级研发的核心角色
  • AI应用架构师的创新思维:用伦理与治理塑造负责任的AI格局
  • 深入解析JDK1.8 HashMap优化之道
  • Docker-Compose限制容器CPU/内存使用小记
  • 大数据预处理:自动化数据增强技术解析
  • Java毕设项目:基于springboot+BS构架的失物招领系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 为什么 AI 时代,SaaS 突然值钱了呢?
  • 网络安全入门基础-常用工具安装及使用(上)
  • Java毕设项目:基于Java的自驾游攻略查询系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 提示工程架构师:用户交互优化的最新技术
  • 【毕业设计】基于Java的自驾游攻略查询系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 前端新手必备:Gemini生成项目部署到Floudflare
  • 计算机Java毕设实战-基于springboot+BS构架的失物招领系统设计与实现失物信息管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Java RESTful开发:从入门到精通
  • 2026年文博导览的新范式:从具身智能到知识共创的深度演进
  • Java计算机毕设之基于Java的自驾游攻略查询系统的设计与实现基于Java的自驾游攻略查询系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 深入解析Java栈帧机制
  • 学习日记day74
  • 全网最新免费降AI方法:工具+降AI工具实测
  • Excel MEDIAN函数终极指南:从基础语法到条件中值计算实战
  • 寒假学习10(HAL库1+模数电10)