? ? ? SQLite是什么鬼?我们先将SQLite的衣服脱掉,深入了解一下它的前世今生(高手过招,点到为止):
一、【看身材长像---精捷介绍】
? ? ? SQLite(可读为:/S-Q-la?t/),是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Delphi(重中之重,一切都是为了它!)、Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2021年已经接近有21个年头,SQLite也迎来了一个版本 SQLite 3已经发布。目前最新版为:Version 3.39.3 (2022-09-05),官方网址为:SQLite Home Page,下载网址为:SQLite Download Page,你想要什么,自己看着办.... ? ? ? ?SQLite实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。
二、【工作原理】
? ? ? 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。?
三、【功能特性】
1. ACID事务 2. 零配置 – 无需安装和管理配置 3.储存在单一磁盘文件中的一个完整的数据库 4.数据库文件可以在不同字节顺序的机器间自由的共享 5.支持数据库大小至2TB 6. 足够小, 大致13万行C代码, 4.43M 7. 比一些流行的数据库在大部分普通数据库操作要快 8. 简单, 轻松的API 9. 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独立: 没有额外依赖 12. 源码完全的开源, 你可以用于任何用途, 包括出售它 13. 支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等 ? ? ?SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,它支持的SQL包括但不限于: ATTACH DATABASE BEGIN TRANSACTION comment COMMIT TRANSACTION COPY CREATE INDEX CREATE TABLE CREATE TRIGGER CREATE VIEW DELETE DETACH DATABASE DROP INDEX DROP TABLE DROP TRIGGER DROP VIEW END TRANSACTION EXPLAIN expression INSERT ON CONFLICT clause PRAGMA REPLACE ROLLBACK TRANSACTION SELECT UPDATE LEFT, RIGHT, and FULL OUTER JOINs DISTINCT, ORDER BY, GROUP BY, HAVING, LIMIT, and OFFSET UNION, UNION ALL, INTERSECT, and EXCEPT ? ? ? ? 同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么你可以考虑使用SQLite。到2013年10月17日最新版本是 3.8.1 。能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。
~东抄西拼,终于也混了个首章,我好不喜欢这些介绍....,但没办法“万丈高楼还须平地起”,所以,希望快速进入干货部分....
|