常用数据库:
1.关系型数据库:
将复杂的数据结构简化为二维表格形式
大型:0racle、DB2
中型:MySq1、sQLServer    小型:Sqlite
2.非关系型数据库以键值对存储,且结构不固定。//JSON
Redis         MongoDB

数据存储:

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

  文件 :                                        外存:程序运行结束、掉电数据不丢失

  数据库:                                     外存:程序运行结束、掉电数据不丢失;专业的管理数据                 

sqlite3:
1.开源免费,c语言开发
2.代码量少,1万行左右,总大小10M以内
3.文件型数据库,可以移动
4.数据容量最大2T

sqlite3 xxx.db
1.  sqlite的命令
.help   查询手册
.tables   查看数据库中的表
.headers on/off  打开/关闭表头
.mode column   设置左对齐
.quit           退出数据库

2.  sqlite支持的SQL(结构化序列语言)语言

      数据类型:
INTEGER(INT): 整形
REAL(FLOAT):浮点型
TEXT:文本字符串类型
NULL :空

     (1) 创建一张表
create table 表名(列名1 数据类型, 列名2  数据类型, ....);

    (2) 插入表格
insert into 表名 values(值1, 值2, 值3, ...);

     (3)查询数据库中的表 
查询表中的所有数据:select * from 表名;
查找指定列: select 列名1,列名2  from 表名;

       条件查找: select * from 表名 where 列名 关系运算符 值;
关系运算符: = >  <   !=  >=  <=  or  (||)  and (&&)  
模糊查找: select * from 表名 where 列名 like "%梅";
% : 可以匹配多个字符
_  :   只能匹配一个字符
有序查找:
升序查找:select * from 表名 order by 列名 ASC;
降序查找:select * from 表名 order by 列名 DESC;

    (4)删除数据
delete from 表名 where 条件;
(5)修改数据
update 表名 set 列名=新值,列名=新值 where 条件;
(6) 删除表
drop table 表名;

    (7)获取时间    datetime();

       (8)主键值自动增长列(INTEGER)
create table class2(num INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, score REAL);

3. sqlite提供的C--- API接口

int sqlite3_open(const char *fliename,sqlite3 **ppDb);
功能:打开一个数据库文件
参数:

filename:文件名

ppDb:数据库句柄的地址

返回值:

成功:SQLITE_OK

失败:错误码

 const char *sqlite3_errmsg(sqliite3 *pdb);
功能:打印一个出错的错误信息
参数:

pdb:数据库句柄

返回值:错误码字符串

int *sqlite3_exec(sqliite3 *pdb,const chat *sql,int(*callback)(void *,int,char **,char **),void *,char **errmsg);
功能:执行sql语句
参数:

pdb:被执行的数据库

sql:要执行的sql语句

callback:回调函数(函数的指针)

int (*callback)(void* arg,int colum_n,char **column_value,char **column_name);
当使用select查询数据时,误触回调函数执行
参数:

arg:sqlite3_exrc传递的第四个参数

column_n:查询到的数据的列数

column_value:保存找到的每一列的元素的值

column_name:每一列的元素的名称。

注意:

回调函数一定要有一个返回值

有几条数据回调函数被触发几次  

arg:参数

errmsg:保存错误信息

返回值:

成功:SQLITE_OK

失败:错误码

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

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

相关文章

6.删除-demo

在连接数据库的基础上deleteResult, err : db.Exec("DELETE FROM user0 WHERE id ?", 1)package main//删除-demoimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql""log" )func main() {db, err : sql.Open…

人机协作系列(四)AI编程的下一个范式革命——看Factory AI如何重构软件工程?

最近这段时间&#xff0c;我发现一个很有意思的现象&#xff1a;那些曾经对 AI 编程工具持怀疑态度的技术领袖们&#xff0c;态度正在集体转变。就像 Flask 的作者 Armin Ronacher&#xff0c;他之前还说 “不敢授权 AI”&#xff0c;现在却坦言 “愿意将工程主导权交给编程代理…

在javaScript里删除节点以及添加节点

1.在javaScript里删除节点在学习中我们只学到了一种删除DOM节点的方法那就是通过元素的父元素来删除该元素&#xff0c;但后面我查阅资料发现删除节点还有其他方法。1.使用 removeChild() 方法&#xff08;最常用&#xff09;我们需要获得元素的父元素&#xff0c;如果不知道可…

贪心算法题解——跳跃游戏【LeetCode】

55. 跳跃游戏 一、算法逻辑&#xff08;逐步思路&#xff09; 问题描述&#xff1a; 给定一个非负整数数组 nums&#xff0c;其中 nums[i] 表示从位置 i 最多可以跳跃的步数。 从起点 0 出发&#xff0c;判断是否能够到达最后一个位置。 解题思路&#xff1a; 设一个变量 mx…

复现永恒之蓝

一.打开msf找到永恒之蓝的漏洞直接运行这个漏洞二.查询这个漏洞模块需要配置的参数配置攻击主机的ip三.没有做免杀的话&#xff0c;记得关闭防火墙四.直接运行这里已经显示拿下目标主机五.测试给目标主机添加一个文档六.查看目标主机有没有刚才编写的文档

游戏行业中的恶梦:不断升级的DDoS攻击

近年来&#xff0c;游戏行业快速发展&#xff0c;成为全球娱乐市场的重要组成部分。然而&#xff0c;伴随着这一行业的繁荣&#xff0c;网络安全问题也随之而来。游戏公司面临着一种特殊的威胁&#xff1a;分布式拒绝服务&#xff08;DDoS&#xff09;攻击。这种攻击不仅对公司…

2025年自动化工程、物联网与计算机应用国际会议(AEITCA 2025)

2025年自动化工程、物联网与计算机应用国际会议&#xff08;AEITCA 2025&#xff09; 2025 International Conference on Automation Engineering, Internet of Things, and Computer Applications一、大会信息会议简称&#xff1a;AEITCA 2025 大会地点&#xff1a;中国西安 审…

Gartner《JavaScript: Top Use Cases, Frameworks and Architecture Constraints》学习心得

《JavaScript: Top Use Cases, Frameworks and Architecture Constraints》是一份面向企业技术决策者、软件架构师与高级工程师的系统性研究笔记。全文以“何时用 JavaScript、如何用好 JavaScript”为主线,从语言特性、运行时差异、适用场景、主流框架、架构约束、生态现状、…

比较vue和react框架

目录 一、基础语法 1.1、模板 vs JSX 1.2、指令 1.2.1、v-for vs Array.map 1.2.2、v-if vs 三元运算符或者&& 1.2.3、v-bind vs 直接在JSX里写{变量} 1.2.4、v-show vs style和className 1.2.5、v-html vs dangerouslySetInnerHTML 1.3、数据绑定 1.4、数据…

插板式系统的“生命线“:EtherCAT分布式供电该如何实现?

在ZIO系列插板式模组系统中&#xff0c;EtherCAT分布式供电如同设备的血液循环网络&#xff0c;其供电稳定性直接决定系统可靠性。本文将从电流计算到电源扩展&#xff0c;为您讲解EtherCAT分布式供电该如何实现。ZIO系列插板式模组的电源介绍ZIO系列插板式I/O模块 是ZLG开发的…

Qwen2-VL:提升视觉语言模型对任意分辨率世界的感知能力

温馨提示&#xff1a; 本篇文章已同步至"AI专题精讲" Qwen2-VL&#xff1a;提升视觉语言模型对任意分辨率世界的感知能力 摘要 我们提出了 Qwen2-VL 系列&#xff0c;这是对先前 Qwen-VL 模型的重大升级&#xff0c;重新定义了视觉处理中传统的预设分辨率方法。Qwe…

C++类模版与友元

全局函数类内实现-直接在类内声明友元即可全局函数类外实现-需要提前让编译器知道全局函数的存在#include <iostream> using namespace std;//通过全局函数来打印Person的信息template<class T1,class T2> class Person{//全局函数&#xff0c;类内实现friend void…

Linux Java环境配置

1.进入java官网&#xff0c;点击Java archive Java Downloads | Oracle 中国https://www.oracle.com/cn/java/technologies/downloads/ 2.然后下滑选择你要安装的java版本&#xff0c;这里我选择的是java8 3.依据系统架构选择版本安装&#xff0c;x86&#xff0c;x64&#xf…

flutter app内跳转到其他安卓 app的方法

flutter 内的关键代码导包&#xff1a;url_launcher: ^6.3.1跳转逻辑&#xff1a;onPressed: () async {await launchUrl(Uri.parse(demoname://));},安卓内的关键代码<intent-filter><action android:name"android.intent.action.VIEW" /><category …

医疗资质OCR智能审核:让合规管理更高效、更精准

在医疗行业&#xff0c;资质证件的审核是确保机构合规运营的关键环节。从医疗机构执业许可证到医师资格证&#xff0c;从药品经营许可证到医疗器械注册证&#xff0c;传统人工审核方式效率低下且容易出错。现在&#xff0c;医疗资质OCR智能审核解决方案正在重塑行业标准&#x…

利用 Spring 的 `@Scheduled` 注解结合简单的状态跟踪实现空闲检测方案

一种基于定时任务和简单状态跟踪的方法: 实现思路 记录用户的最后活动时间:每当用户进行某些操作(如点击、请求等),更新其最后活动的时间戳。 使用定时任务检查用户是否空闲:设置一个后台任务,定期检查每个用户的最后活动时间,判断是否超过了设定的空闲时间阈值。 执行…

如何在 Ubuntu 上安装 Microsoft Edge 浏览器?

Microsoft Edge 是 Microsoft 在2015年开发的跨平台浏览器&#xff0c;最初是建立在他们自己的浏览器引擎和 Chakra JavaScript 引擎之上的&#xff0c;此浏览器可防止恶意网站和下载文件。 本文将帮助您在 Ubuntu 系统上安装 Microsoft Edge 浏览器。 1: 下载 Edge Browser …

16路串口光纤通信FPGA项目实现指南 - 第二部分(下)

16路串口光纤通信FPGA项目实现指南 - 第二部分&#xff08;下&#xff09; 五、核心控制逻辑实现&#xff08;接收部分&#xff09; 5.4 数据接收控制逻辑 // 接收数据寄存逻辑 reg rs422_rx_valid; // 接收数据有效信号 reg [15:0] rs422_rx_data; // 接收数据寄存器…

前后端分离项目的完整部署(Jenkins自动化部署)

人工部署方式&#xff0c;参考文章&#xff1a; 前后端分离项目的完整部署&#xff08;人工部署&#xff09;-CSDN博客 目标 在Windows操作系统上&#xff0c;使用Jenkins完成源代码的自动拉取、编译、打包、发布工作。 项目背景 前端使用vue&#xff0c;程序打包后为dist目…

Python设计模式深度解析:装饰器模式(Decorator Pattern)完全指南

Python设计模式深度解析&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09;完全指南前言什么是装饰器模式&#xff1f;装饰器模式的核心思想Python函数装饰器&#xff1a;从基础到高级基础函数装饰器高级函数装饰器实现GUI装饰器模式&#xff1a;动态界面增强Tk…