数据库文件(嵌入式)

news2024/9/22 10:07:21

一、数据库文件与普通文件区别

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

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

二、常用数据库

1、关系型数据库:

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

        大型:Oracle、DB2

        中型:MySql、SQLServer

        小型;Sqlite

2、非关系型数据库

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

        Redis

        MonqoDB

三、嵌入式数据库

        sqlite3:

        1、开源免费,C语言开发

        2、代码量小,一万行左右,总大小10M以内

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

        4、数据容量最大2T

1、sqlite 相关命令

        .tables 查看数据库中的表

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

        .mode column                        列对齐

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

        .schema  表名                        查看表的结构

2、sqlite的SQL语句

        语句后需加 ;号

        1、创建表

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

         2、插入数据

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

CREATE table class1(id INTEGER,name TEXT,age INTEGER,score REAL);
INSERT into class1 VALUES (1,"zhangsan",20,99);

         3、查询

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

                select   *   from    表名;    *  指(所有列)

SELECT score FROM class1 ;

SELECT * FROM class1 ;

                条件查找:

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

                模糊查找:

                        select *  from  表名   where   列名   like  “ % 查找内容”;

                升序排列

                        select  *  from  表名  order by 列名  ASC

                 降序排序

                        select  *  from  表名  order by 列名  DESC

        4、删除一行

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

 delete from class1 where name = "xialuo";

        5、删除一张表

                        drop  表名;

        6、修改

                        update  from 表名  set  列名 = 新值  where  列名 = 名字

UPDATE class1 set score=100 WHERE name = "xialuo";

        7、设置主键值自动增长列

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

                2、THTEGER   PRIMARY  KEY  AUTOINCREMENT

3、函数接口

        1、sqlite3_open (  ) 

int sqlite3_open(const char *filename,  sqlite3 **ppDb);

功能:打开一个数据库文件获得操作数据库文件的句柄,如果数据库存在,则打开;不存在,则创建

参数:     filename:数据库文件路径 
            ppDb:存放句柄指针空间的首地址

返回值: 成功返回SQLITE_OK,失败:错误码

        2、sqlite3_exec (  ) 

int sqlite3_exec(sqlite3* pDb,const char *sql,nt (*callback)(void*,int,char**,char**), void *arg,         char **errmsg;

功能:在数据库中执行SQL语句

参数:     sqlite3*:数据库句柄 
            sql     :SQL语句字符串首地址
            callback:回调函数(只有select时使用)
            void *  :回调函数的传参(只有select时使用)
            char **errmsg:出错信息存放空间首地址

返回值: 成功返回SQLITE_OK 0,失败:错误码

        3、sqlite3_close (  )

int sqlite3_close(sqlite3*);

功能:关闭数据库句柄

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

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

相关文章

Java 入门指南:Java NIO —— Channel(通道)

NIO 的引入 在传统的 Java I/O 模型(BIO)中,I/O 操作是以阻塞的方式进行的。当一个线程执行一个 I/O 操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连接创建一…

哈工大-操作系统L29

从生磁盘到文件 通过文件使用磁盘更加直观方便 一.映射的左右与实现 1.映射作用 如何从文件得到盘块号,用户看到的字符流,而操作系统看见的是盘块,所以建立字符流到盘块的映射 读写:电梯队列到内存缓冲区中,修改然后再放到电梯队列写出去 操作系统负…

web渗透:信息收集常用的工具

目录 如何根据特定网站的特性选择合适的信息收集工具? 网络安全专业人士通常会使用哪些信息收集工具进行漏洞挖掘? 数据分析师在进行市场研究时通常使用哪些信息收集工具? 数据收集工具 数据处理工具 数据分析工具 数据呈现工具 思维导…

艺术家林曦:“高枕无忧”的生活,需要遇见更好的自己

多年前,林曦老师在与朋友的交谈中,曾提到“想过高枕无忧的生活”。那种身心安逸、无所忧虑,坦然面对自己的状态,想来着实愉快。      或许,当焦虑变为当今社会难以避免的课题,“高枕无忧”才更成了我们…

数据结构:栈、队列详解篇

数据结构:栈、队列详解篇 一、栈(一)栈的概念(二)栈的实现1、结构定义2、功能实现(1)栈的初始化(2)栈的销毁(3)栈的扩容(4&#xff09…

【大模型从入门到精通46】LLM部署运维(LLM Ops)使用Kubeflow Pipelines掌握LLM工作流3

这里写目录标题 功能概览函数定义实践示例:测试适当的拒绝最佳实践与建议适用于科学测验测试的修订函数科学测验测试函数定义执行与评估最佳实践与注意事项 功能概览 evaluate_request_refusal 函数模拟了系统应该基于预定义的标准拒绝生成测验的情景,这…

推荐9款AI论文写作推荐的论文指导!快速生成高质量初稿

在当前的学术写作领域,AI论文写作工具已经成为许多研究人员和学生的重要助手。这些工具不仅能够帮助用户快速生成高质量的论文初稿,还能在一定程度上简化学术写作流程,提高写作效率。以下是九款被广泛推荐的AI论文写作工具,它们各…

Docker续1:docker使用

一、打包传输 1.打包 [rootlocalhost ~]# systemctl start docker [rootlocalhost ~]# docker save -o centos.tar centos:latest [rootlocalhost ~]# ls anaconda-ks.cfg centos.tar 2.传输 [rootlocalhost ~]# scp centos.tar root192.168.1.100:/root 3.删除镜像 [r…

付费自习室管理小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商家管理,类型管理,自习室管理,订单管理,系统管理 微信端账号功能包括:系统首页,自习室,我的 …

python-旋转木马(赛氪OJ)

[题目描述] 我们要做一个旋转木马! 输入一个 nn 的字符矩阵,将其顺时针旋转 90 度后输出。输入格式: 输入共 n1 行。 第一行一个整数 n,表示矩阵大小。 接下来 n 行,每行一个长度为 n 的字符串,仅包含小写字…

Linux高性能服务器编程 总结索引 | 第2章:IP协议详解

IP头部信息 IP数据报的路由和转发 1、IP 服务的特点 1、IP 协议是 TCP/IP 协议族的动力,它为上层协议提供 无状态、无连接、不可靠的服务 2、无状态 是指 IP 通信双方不同步传输数据的状态信息,因此 所有 IP 数据报的发送、传输和接收都是相互独立、没…

【Linux应用编程实战】常见函数应用

介绍一些Linux应用编程实战遇到的,常见要用的函数,进行概况总结。 目录 main() lseek() poll() struct pollfd 结构体返回值典例 mmap() munmap(…

kylin-麒麟操作系统-安装内存泄露补丁-以及kylin-kms-activation.service服务不断重启解决思路

文章目录 前言1. 问题现象1.1 使用journalctl命令查看更详细的日志信息 2. 解决思路2.1 思路一:2.2 思路二:2.3 合理的解法: 3. 扩展-修复内存泄露3.1 查看自己使用的镜像3.2 到麒麟官网下载相应的补丁包3.3 安装步骤3.4 重启kylin-kms-activation.servi…

python如何另起一行

python 字符串换行的三种方式: 第一种:三个单引号 print 我是一个程序员 我刚开始学习python 第二种:三个双引号 print """ 我是一个程序员 我刚开始学习python""" 第三种:\结尾 print "我是…

生成式AI,搜索赛道的又一个黄金十年

文|白 鸽 编|王一粟 随着生成式AI的发展,搜索引擎正在被重构,越来越多玩家开始布局AI搜索赛道。 一方面,传统搜索引擎/浏览器正借助AI技术的重构重新焕发生机,无论是移动端还是PC端,都在抢占…

GHA高质量原创文章是什么?

GHA文章是一种专为提高搜索引擎优化(SEO)效果而设计的高质量原创内容。GHA代表高质量,这些文章通过精心编写和策略布局,就是为了帮助网站迅速在Google等搜索引擎上获得排名,写一篇能在Google上获得高排名的文章&#x…

postman注入csrf

示例脚本 参数配置位置 必要参数 django项目仅需要设置domain即可,比如www.baidu.com,baidu.com尽量域名精确避免修改到其他域的参数 必须把这个domain添加到 cookies->Manage cookies ->Domains Allowlist 中,否则cookie的注入失败 代码 // 必…

P1516 青蛙的约会(exgcd)

一些前置知识: 1.扩展欧几里得算法: axbygcd(a,b) 方程一个可行的解(x1,y1)求法: int exgcd(int a,int b,int &x,int &y) {if(!b){x1,y0; return a;}int dexgcd(b,a%b,y,x);y-a/b*x;return d; }2.由axbygcd…

URP简洁的instance的写法

材质还是要开启enable instance,这是上一次的写法 https://dbbh666.blog.csdn.net/article/details/136644181 最近发现更适合我个人的习惯的写法 就是代码控制这个整个过程 C#代码是这样的,获取一个mesh,获取每个mesh的transform&#xff0c…

UE5 摄像机图像采集到材质 映射到 UI 和 物体表面

一.创建SceneCapture2D的组件 二.创建用于 映射的 贴图 三.将RenderTarget贴图放到SceneCapture2D的摄像机上Scene Capture的TextureTarget 四.这个时候的映射贴图,产生的材质可以直接。放到Plane上。 五,但是如果要用于UI,还需要更改SceneCapture2D的摄…