嵌入式day36

数据库

专业存储数据、大量数据

数组、链表、变量---->内存:程序运行结束、掉电数据丢失

文件---->硬盘:程序运行结束、掉电数据不丢失

数据库---->硬盘

数据库文件与普通文件区别:

1.普通文件对数据管理(增删改查)效率低

2.数据库对数据管理效率高,使用方便

常用数据库:

1.关系型数据库:

        将复杂的数据结构简化为二维表格形式

        大型:Oracle、DB2

        中型:MySql、SQLServer

        小型:Sqlite

2.非关系型数据库:

        以键值对存储,且结构不固定

        //JSON

        Redis

        MongoDB

嵌入式数据库:

sqlite3:

stu.db

1.开源免费,c语言开发

2.代码量少,1万行左右,总大小10M以内

3.文件型数据库,可以移动

4.数据容量最大2T

sqlite3

1.sqlite相关的命令

        .tables 查看数据库中的表

        .headers on | off 开启/关闭表头

        .mode column 列对齐

        .width 列宽1 列宽2 设置列宽

        .schema 表名 查询表头

2.sqlite的SQL语句

每个SQL语句后面必须要有一个分号

INTEGER:整型

REAL:浮点型

TEXT:文本类字符串

NULL:空

        1.创建表

                create table 表名(列名1 数据类型,列名2 数据类型,列名3 数据类型);

        2.插入数据

                insert into 表名 values(值1,值2,值3);

        3.查询

                select 列名1,列名2 from 表名;

                select * from 表名;(所有)

        4.条件查询

                select * from 表名 where 条件(列 关系运算符 值);

                关系运算符:>, <,=,!=,>=,<=,and,or

        5.模糊查找

                select * from 表名 where 列 like

                % 可以通配多个字符

                _ 只能通配一个字符

        6.升序/降序排列

                select * from 表名 order by 列名 ASC/DESC

        7.删除一行

                delete from 表名 where 列名 关系运算符 值;

        8.删除表

                drop 表名;

        9.修改

                update 表名 set=新值 where 列=值;

        10.设置主键值自动增长列

                1.主键值自动增长列的数据类型必须是INTEGER

                2.类名 INTEGER PRIMARY KEY AUTOINCREMENT

        11.设置时间

                select datetime(“now”, “+8 hours”)

        12.多表联查

                CROSS JOIN 交叉连接

                INNER JOIN 内连接

                OUTER JOIN 外连接

3.sqlite3提供的c/c++ API接口

sqlite3_open

打开数据库,如果不存在,则创建

参数:

filename 数据库名称

ppDb 保存数据库句柄的地址

返回值:

成功 返回SQLITE_OK

失败 返回错误码

sqlite_exec

执行sql语句

        

参数:

sqlite*pdb         数据库句柄

sql         要执行的sql语句的首地址

int calllback(void*arg,int column_cnt,char * *column_value,char **column_name)(回调函数)

        功能         在使用sqlite3_exec执行select语句时,每查找到一条数据,则调用一次回调

        参数         arg sqlite_exec传递的第4个参数

                        column_cnt 查找到的数据的列数

                        column_value 查找到的一行数据的每一列值的地址的集合

                        column_name 查找到得一行数据得每一列列名的地址的集合

        返回值         成功返回0

注意:

        1.每找到一行,回调触发一次

        2.回调函数必须返回0

errmsg         存储错误信息的地址

返回值:

成功         返回SQLITE_OK

失败         返回错误码

增删改查

c中二级指针的使用场景:

1.在被调函数中修改主调函数中的指针变量

2.指针数组的数组名为二级指针

快速查询:sqlitebrowser +数据库名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux入门攻坚——30、sudo、vsftpd

su&#xff1a;Switch User&#xff0c;即切换用户 su [-l user] -c ‘COMMAND’ 如&#xff1a;su -l root -c ‘COMMAND’ 如果没有指定-l user&#xff0c;则默认是root sudo&#xff1a;可以让某个用户不需要拥有管理员的密码&#xff0c;而可以执行管理员的权限。 需…

基于RS232的VGA显示

前言 基于ROM的VGA显示缺点&#xff1a;需要将图片转化为mif文件&#xff0c;使用的RAM是FPGA内部RAM模拟出来的&#xff0c;占用资源大切换显示图片需要重新转化&#xff0c;对ROM进行写入&#xff0c;使用极不方便&#xff0c;因此这里采用RS232进行VGA显示。 正文 一、基于…

代码随想录Day 28|题目:122.买卖股票的最佳时机Ⅱ、55.跳跃游戏、45.跳跃游戏Ⅱ、1005.K次取反后最大化的数组和

提示&#xff1a;DDU&#xff0c;供自己复习使用。欢迎大家前来讨论~ 文章目录 题目题目一&#xff1a;122.买卖股票的最佳时机 II贪心算法&#xff1a;动态规划 题目二&#xff1a;55.跳跃游戏解题思路&#xff1a; 题目三&#xff1a; 45.跳跃游戏 II解题思路方法一方法二 题…

鸿蒙开发入门day15-焦点事件

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;还请三连支持一波哇ヾ(&#xff20;^∇^&#xff20;)ノ&#xff09; 目录 焦点事件 基础概念与规范 基础概念 走焦规范 走焦算法 获焦/失…

16. TreeMap和HashMap的区别是什么?在什么场景下应该使用TreeMap?

TreeMap 和 HashMap 都是 Java 中常用的 Map 接口的实现类&#xff0c;它们在存储键值对时有不同的实现方式和特性。了解它们的区别和适用场景可以帮助你在实际开发中选择合适的集合类型。 TreeMap 和 HashMap 的主要区别 1. 底层实现 HashMap&#xff1a; HashMap 基于哈希表&…

电话客服软件的深度解析:功能、优势与应用场景

一、引言 1.1 电话客服的重要性 在当今竞争激烈的市场环境中&#xff0c;优质的客户服务已成为企业脱颖而出的关键因素之一。电话客服作为最传统也是最直接的沟通方式&#xff0c;始终占据着不可替代的地位。它不仅能够快速响应客户需求&#xff0c;解决客户问题&#xff0c;…

【逐行注释】MATLAB下的UKF(无迹卡尔曼滤波),带丰富的中文注释,可直接复制到MATLAB上运行,无需下载

文章目录 程序组成部分完整代码运行结果主要模块解读:运动模型绘图部分误差统计特性输出程序组成部分 由模型初始化、运动模型、UKF主体部分、绘图代码和输出部分组成: 完整代码 将下列代码复制粘贴到MATLAB里面,即可运行: % 三维状态量的UKF例程 % 作者联系方式:微信…

机器视觉系统

1、机器视觉应用场景 1、识别定位 2、缺陷检测 3、ocr 4、测量类的 2、视觉系统 镜头 相机 采集卡 计算机 显示器 3、开发流程 1、需求分析 2、可行性分析 3、方案设计 4、概要设计 5、详细设计 6、调试 7、测试 8、交付 9、维护 4、光学系统 1、望远 2、放大 3、显微 4、摄影…

安全面试常见问题任意文件下载

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 1.1 任意文件下…

学习记录——day39 C++ Class this指针

一、封装 Class 1、C 中的类 Class C中的类&#xff0c;是由C中的结构体演化而来的&#xff0c;只需要将struct改成关键字class&#xff0c;就定义了一个类 C中类和结构体的区别&#xff1a; 1&#xff09;默认的权限不同&#xff0c;结构体中默认权限为public&#xff0c;类…

培训第三十九天(了解docker-compose,docker-compose编排容器,配置harbor服务)

一、回顾 1、拉取私有仓库镜像 # 配置dockerdocker pull 10.0.0.10:5000/centosnginx:v0 2、容器网络类型 brideg(net) default# docker启动之后会生成新的虚拟网卡&#xff0c;网卡的名称docker0# 网段默认是172.17.0.1# 所有的容器都桥接docker0&#xff0c;通过桥接共享网…

LRN正则化是什么?

LRN正则化&#xff0c;全称为Local Response Normalization&#xff08;局部响应归一化&#xff09;&#xff0c;是一种在深度学习&#xff0c;特别是在卷积神经网络&#xff08;CNN&#xff09;中常用的正则化技术。该技术旨在通过模拟生物视觉系统中的侧抑制现象&#xff0c;…

OpenLayers3, 设置地图背景

文章目录 一、前言二、代码实现三、总结 一、前言 本文基于OpenLayers3&#xff0c;实现地图加入背景图的功能。 二、代码实现 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"> <head><meta http-equiv"Content-Type"…

QT学习ubuntu qt + desktop

环境搭建 ubuntu 安装QT 遇到kit 选择不了 通过sudo apt-get install qt5-default去安装SDK的时候报错&#xff1a; Package qt5-default is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is …

Linux——nginx 负载均衡

常规的web服务器一般提供对于静态资源的访问&#xff0c;比如说&#xff1a;图片、web样式 网站提供的大部分交互功能都需要web编程语言的支持&#xff0c;而web服务对于程序的调用&#xff0c;不管编译型语言还是解释型语言&#xff0c;web服务同将对于应用程序的调用递交给通…

RedisMessageListenerContainer容器初始化

RedisMessageListenerContainer是Spring Data Redis提供的一个容器类&#xff0c;为Redis监听器提供异步处理能力&#xff0c;处理低级别消息、转换Redis的消息通道&#xff0c;它通常与MessageListenerAdapter和自定义的消息监听器一起使用。 一、RedisMessageListenerContain…

【机器学习】网络安全如何利用(行为分析)来确定可能表明内部威胁、APT 或零日攻击的可疑或异常事件。

网络安全如何利用&#xff08;行为分析&#xff09;来确定可能表明内部威胁、APT 或零日攻击的可疑或异常事件。 1. 行为分析的基本概念 2. 检测内部威胁 3. 检测高级持续性威胁 (APT) 4. 检测零日攻击 5. 实施行为分析的步骤 6. 行为分析的优势与挑战 7. 总结 &#x1…

(十七)Flink 容错机制

目录 分布式快照 Checkpoint Checkpoint 模式 Checkpoint 配置 非对齐 Checkpointing 状态存储 Savepoint 分配算子 ID Savepoint 操作 Checkpoint 与 Savepoint 区别 作业重启与故障恢复策略 重启策略 恢复策略 对于不间断 24 小时运行的程序来说,容错至关重要。…

在蓝桥云课ROS中快速搭建Arduino开发环境

普通方式 一步步慢悠悠的搭建和讲解需要5-6分钟&#xff1a; 如何在蓝桥云课ROS中搭建Arduino开发环境 视频时间&#xff1a;6分40秒 高效方式 如何高效率在蓝桥云课ROS中搭建Arduino开发环境 视频时间&#xff1a;1分45秒 配置和上传程序到开发板 上传程序又称为下载程序h…

html+css+js网页设计 婚庆网站8个页面

htmlcssjs网页设计 婚庆网站8个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#xff…