sqlite 数据库 介绍
文章目录
- 前言
- 一、什么是 SQLite ?
- 二、语法
- 三、SQLite 场景
- 四、磁盘文件
前言
下载
目前已经出到了, Version 3.46.0
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2021年已经接近有21个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是 SQLite ?
SQLite 是一个用 C 语言编写的库,实现了一个小型、快速、独立、高可靠、功能齐全的 SQL 数据库引擎。SQLite 是全球使用最广泛的数据库引擎。它内置于所有手机和大多数计算机中,并与人们日常使用的无数其他应用程序捆绑在一起。更多信息…
SQLite 的文件格式稳定、跨平台且向后兼容,开发人员承诺到 2050 年都保持这种状态。SQLite 数据库文件通常用作在系统之间传输丰富内容的容器[1][2][3],以及作为数据的长期存档格式[4]。目前有超过 1 万亿(1e12)个 SQLite 数据库在活跃使用[5]。
SQLite 的源代码属于公共领域,任何人都可以免费用于任何目的。
官网下载
https://sqlite.org/download.html
二、语法
计算当前日期。
SELECT date();
计算当前月的最后一天。
SELECT date('now','start of month','+1 month','-1 day');
计算给定 Unix 时间戳 1092941466 的日期和时间。
SELECT datetime(1092941466, 'unixepoch');
SELECT datetime(1092941466, 'auto'); -- 对于 1970 年初不起作用!
计算给定 Unix 时间戳 1092941466,并根据本地时区进行补偿。
SELECT datetime(1092941466, 'unixepoch', 'localtime');
计算当前的 Unix 时间戳。
SELECT unixepoch();
SELECT strftime('%s');
计算自美国《独立宣言》签署以来的天数。
SELECT julianday('now') - julianday('1776-07-04');
计算自 2004 年某一特定时刻以来的秒数:
SELECT unixepoch() - unixepoch('2004-01-01 02:34:56');
计算本年度十月的第一个星期二的日期。
SELECT date('now','start of year','+9 months','weekday 2');
以秒为单位,计算具有毫秒精度的自 Unix 纪元以来的时间:
SELECT (julianday('now') - 2440587.5)*86400.0;
SELECT unixepoch('now','subsec');
计算如果亚伯拉罕·林肯还活着,他现在的年龄:
SELECT timediff('now','1809-02-12');
三、SQLite 场景
SQLite 具有广泛的使用场景,包括但不限于以下几个方面:
移动应用:在智能手机和平板电脑的应用程序中,SQLite 常被用于存储应用数据,如用户设置、本地缓存、离线数据等。由于其轻量级和无需服务器配置的特点,非常适合资源受限的移动环境。
桌面应用:小型的桌面应用程序可以使用 SQLite 来存储配置信息、用户偏好、本地数据等。
嵌入式系统:在嵌入式设备和物联网设备中,SQLite 可用于存储设备的状态信息、传感器数据、配置参数等。
原型开发和测试:在项目的早期阶段或进行快速原型开发时,SQLite 易于设置和使用,能够快速验证数据存储和查询的逻辑。
单用户应用:对于仅由单个用户使用的应用程序,SQLite 提供了一种简单且有效的数据存储解决方案,无需复杂的数据库服务器管理。
本地数据存储:例如在一些数据分析工具中,用于临时存储和处理本地的数据文件。
小型网站和博客:对于流量较小、数据量不大的网站或博客,SQLite 可以作为简单的数据库来存储文章、评论、用户信息等。
总之,SQLite 在需要轻量级、本地、单用户或小规模数据存储和管理的场景中表现出
四、磁盘文件
在 SQLite 中,一个数据库就是一个单一的磁盘文件¹。此外,其文件格式是跨平台的。在一台机器上创建的数据库可以被复制并在具有不同架构的另一台机器上使用。SQLite 数据库在 32 位和 64 位机器之间以及大端和小端架构之间都是可移植的。
SQLite 数据库文件格式也是稳定的。SQLite 3 的所有版本都能读取和写入自 2004 年 6 月 18 日首次发布的 SQLite 3(版本 3.0.0)所创建的数据库文件。这就是“向后兼容性”。开发人员承诺在 SQLite 3 的所有未来版本中保持数据库文件格式的向后兼容性。“向前兼容性”意味着较旧版本的 SQLite 也能够读取和写入由较新版本创建的数据库。SQLite 通常(但并非完全)具有向前兼容性。
SQLite 数据库文件格式的稳定性以及其跨平台的特性相结合,使得 SQLite 数据库文件成为应用文件格式的绝佳选择。美国国会图书馆认可这一点,将 SQLite 列为长期保存数字内容的推荐存储格式。
相关文章:

sqlite 数据库 介绍
文章目录 前言一、什么是 SQLite ?二、语法三、SQLite 场景四、磁盘文件 前言 下载 目前已经出到了, Version 3.46.0 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是…...

【机器学习】机器学习重塑广告营销:精准触达,高效转化的未来之路
📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 📒1. 引言📙2. 机器学习基础与广告营销的结合🧩机器学习在广告营销中的核心应用领域🌹用…...

常见的Java运行时异常
常见的Java运行时异常 1、ArithmeticException(算术异常)2、ClassCastException (类转换异常)3、IllegalArgumentException (非法参数异常)4、IndexOutOfBoundsException (下标越界异常…...

CANoe的capl调用Qt制作的dll
闲谈 因为Qt封装了很多个人感觉很好用的库,所以一直想通过CAPL去调用Qt实现一些功能,但是一直没机会(网络上也没看到这方面的教程),这次自己用了两天,踩了很多坑,终于是做成了一个初步的调用方…...

论如何搭建属于自己的服务器?
在现如今的数字化时代中,为了能够搭建网站和运行应用程序,很多人选择搭建属于自己的服务器,下面我们就来了解一下如何搭建服务器吧! 搭建服务器我们首先需要选择适合自身需求的硬件设备,其中包含内存、CPU和存储等配置…...

【C++ OpenCV】机器视觉-二值图像和灰度图像的膨胀、腐蚀、开运算、闭运算
原图 结果图 //包含头文件 #include <opencv2/opencv.hpp>//命名空间 using namespace cv; using namespace std;//全局函数声明部分//我的腐蚀运算 Mat Erode(Mat src, Mat Mask, uint32_t x0, uint32_t y0) {uint32_t x 0, y 0;Mat dst(src.rows, src.cols, CV_8U…...

STMF4学习笔记RTC(天空星)
前言:本篇笔记参考嘉立创文档,连接放在最后 #RTC相关概念定义 Real-Time Clock 缩写 RTC 翻译 实时时钟,是单片机片内外设的一种,作用于提供准确的时间还有日期,这个外设有独立的电源,当单片机停止供电…...

vue数组变化的侦测***
数组变化的侦测 变更方法 vue能够侦听响应式数组的变更方法,并在他们被调用时触发相关更新。这些变更方法包括: push()pop()shift()unshift()splice()sort()reverse() 替换一个数组 变更方法,顾名思义,就是会对调用他们的原数组进…...

k8s-第十节-Ingress
Ingress 介绍 Ingress 为外部访问集群提供了一个 统一 入口,避免了对外暴露集群端口;功能类似 Nginx,可以根据域名、路径把请求转发到不同的 Service。可以配置 https 跟 LoadBalancer 有什么区别? LoadBalancer 需要对外暴露…...

webrtc gcc详解
webrtc的gcc算法(Google Congestion Control),貌似国内很多文章都没有细讲,原理是怎么样的,具体怎么进行计算的。这里详解一下gcc。 gcc算法,主要涉及到: 拥塞控制的关键信息和公式 卡曼滤波算法 gcc如何使用卡曼滤…...

Linux多进程和多线程(七)进程间通信-信号量
进程间通信之信号量 资源竞争 多个进程竞争同一资源时,会发生资源竞争。 资源竞争会导致进程的执行出现不可预测的结果。 临界资源 不允许同时有多个进程访问的资源, 包括硬件资源 (CPU、内存、存储器以及其他外 围设备) 与软件资源(共享代码段、共享数据结构) …...

【项目日记(一)】梦幻笔耕-数据层实现
❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多项目内容 目录 1.前言2.后端模块3数据库设计4.mapper实现4.1UserInfoMapper4.2BlogMapper 5.总结 1.…...

ElementUI的中国省市区级联数据插件element-china-area-data
安装 npm install element-china-area-data -S import 使用 import {provinceAndCityData,pcTextArr,regionData,pcaTextArr,codeToText, } from "element-china-area-data"; provinceAndCityData省市二级联动数据,汉字+coderegionData省市区三级联动数据pcTextAr…...
Kotlin算法:把一个整数向上取值为最接近的2的幂指数值
Kotlin算法:把一个整数向上取值为最接近的2的幂指数值 import kotlin.math.ln import kotlin.math.powfun main(args: Array<String>) {val number intArrayOf(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)number.forEach {println("$…...

简单且循序渐进地查找软件中Bug的实用方法
“Bug”这个词常常让许多开发者感到头疼。即使是经验丰富、技术娴熟的开发人员在开发过程中也难以避免遭遇到 Bug。 软件中的故障会让程序员感到挫败。我相信在你的软件开发生涯中,也曾遇到过一些难以排查的问题。软件中的错误可能会导致项目无法按时交付。因此&…...

基于springboot+vue+uniapp的高校宿舍信息管理系统小程序
开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…...

(完整音频)DockerHub、OpenAI、GitCode,脱钩时代,我们该如何自处?
本期主播 朱峰:「津津乐道播客网络」创始人,产品及技术专家。(微博:zhufengme)高春辉:「科技乱炖」主播。“中国互联网站长第一人”,科技、互联网领域的连续创业者。(微博࿱…...

macos 10.15系统下载包,macOS Catalina for mac
macOS Catalina 让你喜欢的种种 Mac 体验都更进一步。你可以领略音乐、播客这两款全新 Mac app 的表演;在 Mac 上畅享各款自己心爱的 iPad app;拿起 iPad 和 Apple Pencil,拓展工作空间,释放创意灵感;再打开那些平时常…...

uni.showShareMenu({}) 和 uni.showShareImageMenu({}) 的区别
ChatGPT uni.showShareMenu({}) 和 uni.showShareImageMenu({}) 是 Uni-app 中两个不同的 API,它们的作用和用法有所不同: uni.showShareMenu({}) 作用:用于显示当前页面的分享菜单,通常显示在页面的右上角(类似于微…...

Spring Boot logback 日志文件配置
引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency>logback-spring.xml 配置 <?xml version"1.0" encoding"UTF-8&quo…...

240705_昇思学习打卡-Day17-基于 MindSpore 实现 BERT 对话情绪识别
240705_昇思学习打卡-Day17-基于 MindSpore 实现 BERT对话情绪识别 近期确实太忙,此处仅作简单记录: 模型简介 BERT全称是来自变换器的双向编码器表征量(Bidirectional Encoder Representations from Transformers),…...

图像处理调试软件推荐
对于图像处理的调试,使用具有图形用户界面(GUI)且支持实时调整和预览的图像处理软件,可以大大提高工作效率。以下是几款常用且功能强大的图像处理调试软件推荐: ImageJ/FijiMATLABOpenCV with GUI LibrariesNI Vision …...

Mybatis实现RBAC权限模型查询
RBAC权限模型 Role-Based Access Control,中文意思是:基于角色(Role)的访问控制。这是一种广泛应用于计算机系统和网络安全领域的访问控制模型。 简单来说,就是通过将权限分配给➡角色,再将角色分配给➡用…...

最短路算法——差分约束
差分约束 (1) 求不等式组的可行解 源点:从源点出发,一定可以走到所有的边求可行解步骤: 先将每个不等式 x i ≤ x j c x_i \le x_j c xi≤xjc,转化成一条从 s j s_j sj走到 s i s_i si,长度为 c k c_k ck 的一条边找…...

Log4j日志框架讲解(全面,详细)
目录 Log4j概述 log4j的架构(组成) Loggers Appenders Layouts 快速入门 依赖 java代码 日志的级别 log4j.properties 自定义Logger 总结: Log4j概述 Log4j是Apache下的一款开源的日志框架,通过在项目中使用 Log4J&…...

LeetCode 35, 242, 994
目录 35. 搜索插入位置题目链接标签思路代码 242. 有效的字母异位词题目链接标签思路代码 994. 腐烂的橘子题目链接标签思路代码 35. 搜索插入位置 题目链接 35. 搜索插入位置 标签 数组 二分查找 思路 本题与 704. 二分查找 十分相似,只不过本题在找不到 tar…...

ctfshow-web入门-文件包含(web87)巧用 php://filter 流绕过死亡函数的三种方法
目录 方法1:php://filter 流的 base64-decode 方法 方法2:通过 rot13 编码实现绕过 方法3:通过 strip_tags 函数去除 XML 标签 除了替换,新增 file_put_contents 函数,将会往 $file 里写入 <?php die(大佬别秀了…...

adb shell ps -T打印出来参数的含义,以及D,T,Z代表的状态含义是什么?
在Android系统中,使用adb shell ps命令可以查看当前系统中运行的进程信息。当你添加-T选项时(注意,标准的ps命令在Android的adb shell中可能不直接支持-T选项,这通常与Linux中的ps命令略有不同),你可能是想…...

leetcode77组合——经典回溯算法
本文主要讲解组合的要点与细节,以及回溯算法的解题步骤,按照步骤思考更方便理解 c和java代码如下,末尾 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 具体要点: …...

springcloud-alibba之FeignClient
代码地址:springcloud系列: springcloud 组件分析拆解 1.FeignClient的集成 springboot版本:3.1.5 springcloud组件版本:2022.0.4 nacos客户端的版本:2.3.2 1.引pom 这里引入了nacos和feginclient的版本 <dependency>…...