SQLite3是一款轻量级数据库引擎,适合嵌入式应用和中小规模网站。它无需安装、配置简单,运行速度快,支持2TB单文件存储,兼容标准SQL92语法,但不适合高并发和复杂的企业级需求。
它的设计理念注重小巧和易用性,适用于手机、PDA等设备以及桌面应用程序。对于开发人员来说,SQLite3是一个强大的工具,可以用来快速实现数据管理功能或替代自定义文件格式。它还适合用于数据分析、教学和试验SQL语言特性。
总的来说,SQLite3的简单性和高效性使其成为许多项目的理想选择,尤其是那些对数据库功能需求不复杂的应用场景。它不仅节省开发时间,还能保证性能稳定,特别适合资源有限的小型项目或个人使用。

软件特色
1、轻量嵌入式设计
SQLite3不依赖服务器进程,仅作为应用的一部分存在﹔编译后的库小于1MB,运行开销极低。
2、单文件存储结构
所有数据库内容都保存在一个磁盘文件中,便于复制、迁移和版本控制。
3、跨平台支持广泛
可以在Linux、Windows、macOS、Android、iOS等操作系统中运行,源代码可编译到几乎所有主流平台。
4、兼容标准SQL92
尽管体积小,但SQLite3支持大部分标准SQL语法,如事务、子查询、视图、触发器、聚合函数等。
5、零配置,无需安装
无需安装或初始化数据库,只要程序能访问数据库文件就可以使用。
6、事务完整性(ACID)支持
SQLite3保证事务的原子性、一致性、隔离性和持久性,适用于数据完整性要求较高的应用。
SQLite适合使用场景
网站
作为数据库引擎SQLite适用于中小规模流量的网站(也就是说,99.9%的网站)。SQLite可以处理多少网站流量在于网站的数据库有多大的压力。通常来说,如果一个网站的点击率少于100000次/天的话,SQLite是可以正常运行的。100000次/天是一个保守的估计,不是一个准确的上限。事实证明,即使是10倍的上述流量的情况下SQLite依然可以正常运行。
嵌入式设备和应用软件
因为SQLite数据库几乎不需要管理,因此对于那些无人值守运行或无人工技术支持的设备或服务,SQLite是一个很好的选择。SQLite能很好的适用于手机,PDA,机顶盒,以及其他仪器。作为一个嵌入式数据库它也能够很好的应用于客户端程序。
应用程序文件格式
SQLite作为桌面应用程序的本地磁盘文件格式取得了巨大成功。例如金融分析工具、CAD包、档案管理程序等等。一般的数据库打开操作需要调用sqlite3_open()函数,并且标记一个显式本地事务的起始点(BEGINTRANSACTION)来保证以独占的方式得到文件的内容。文件保存将执行一个提交(COMMIT)同时标记另一个显式本地事务起始点。这种事务处理的作用就是保证对于应用程序数据文件的更新是原子的、持久的、独立的和一致的。数据库里可以加入一些临时的触发器,用来把所有的改变记录在一张临时的取消/重做日志表中。当用户按下取消/重做按钮的时候这些改变将可以被回滚。应用这项技术实现一个无限级的取消/重做功能只需要编写很少的代码。
替代某些特别的文件格式
许多程序使用fopen(),fread(),或fwrite()函数创建和管理一些自定义的文件用来保存数据。使用SQLite替代这些自定义的文件格式将是一种很好的选择。
内部的或临时的数据库
对于那些有大量的数据需要用不同的方式筛选分类的程序,相对于编写同样功能的代码,如果你把数据读入一个内存中的SQLite数据库,然后使用连接查询和ORDERBY子句按一定的顺序和排列提取需要的数据,通常会更简单和快速。按照上述的方法使用内嵌的SQLite数据库将会使程序更富有灵活性,因为添加新的列或索引不用重写任何查询语句。
命令行数据集分析工具
有经验的SQL用户可以使用SQLite命令行程序去分析各种混杂的数据集。原是数据可以从CSV(逗号分隔值文件)文件中导入,然后被切分产生无数的综合数据报告。可能得用法包括网站日志分析,运动统计分析,编辑规划标准,分析试验结果。当然你也可以用企业级的客户端/服务器数据库来做同样的事情。在这种情况下使用SQLite的好处是:SQLite的部署更为简单并且结果数据库是一个单独的文件,你可以把它存储在软盘或者优盘或者直接通过email发给同事。
在Demo或测试版的时候作为企业级数据库的替代品
如果你正在编写一个使用企业级数据库引擎的客户端程序,使用一个允许你连接不同SQL数据库引擎的通用型数据库后台将是很有意义的。其更大的意义在于将SQLite数据库引擎静态的连接到客户端程序当中,从而内嵌SQLite作为混合的数据库支持。这样客户端程序就可以使用SQLite数据库文件做独立的测试或者验证。
数据库教学
因为SQLite的安装和使用非常的简单(安装过程几乎忽略不计,只需要拷贝SQLite源代码或sqlite。exe可执行文件到目标主机,然后直接运行就可以)所以它非常适合用来讲解SQL语句。同学们可以非常简单的创建他们喜欢的数据库,然后通过电子邮件发给老师批注或打分。对于那些感兴趣怎样实现一个关系型数据库管理系统(RDBMS)的高层次的学生,按照模块化设计且拥有很好的注释和文档的SQLite源代码,将为他们打下良好的基础。这并不是说SQLite就是如何实现其他数据库引擎的精确模型,但是很适合学生们了解SQLite是如何快速工作的,从而掌握其他数据库系统的设计实现原则。
试验SQL语言的扩展
SQLite简单且模块化的设计使得它可以成为一个用来测试数据库语言特性或新想法的优秀的原型平台。
SQLite命用命令及语法
新建数据库:
sqlite3 dbname
检查dbname是否存在,如果不存在就创建并进入数据库(如果直接退出,数据库文件不会创建),如果已经存在直接进入数据库 对数据库进行操作。
sqlite中命令:
以.开头,大小写敏感(数据库名称是大小写不敏感的)
.exit
.help 查看帮助 针对命令;
.database 显示数据库信息;包含当前数据库的位置;
.tables 或者 .table 显示表名称 没有表则不显示;
.schema 命令可以查看创建数据对象时的SQL命令;
.schema databaseobjectname查看创建该数据库对象时的SQL的命令;如果没有这个数据库对象就不显示内容,不会有错误提示;
.read FILENAME 执行指定文件中的SQL语句;
.headers on/off 显示表头 默认off;
.mode list|column|insert|line|tabs|tcl|csv 改变输出格式;
接下来多多小编来创建一个db文件,首先我们打开cmd,进入sqlite3.exe所在的目录(就是你放压缩文件的地方),输入“sqlite3.exe test.db”这样就在当前目录创建好了一个“test.db”数据库了。
输入“.help”即可查看所有命令。详细的操作可以仔细看一下SQLite命用命令及语法,SQLite3支持标准SQL语言。
更新日志
v3.53.0版本
修复WAL重置导致的数据库损坏问题。
添加查询结果格式化器(QRF)库,用于在等宽字体屏幕上格式化SQL查询结果,以提高可读性。
将格式化方法添加到TCL接口中,以便可以从TCL访问QRF。
QRF用于命令行界面(CLI)中的结果格式化,从而提升了显示功能。
新的SQL语言特性:
增强ALTER TABLE功能,允许添加和移除NOT NULL和CHECK约束。
REINDEX EXPRESSIONS 语句用于重建表达式索引。(有助于修复过时的表达式索引。)
TEMP 触发器的主体现在可以修改和/或查询主模式中的表。
增强VACUUM INTO功能,以便在将URI文件名用作目标且该文件名包含一个reserve=N(N介于0和255之间)查询参数时,将生成的数据库副本的保留量设置为N。


























共有 0条评论