SQLite – 概述

SQLite – 概述


本章帮助您了解什么是 SQLite,它与 SQL 有何不同,为什么需要它以及它处理应用程序数据库的方式。

SQLite 是一个软件库,它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。SQLite 是周围增长最快的数据库引擎之一,但它的流行程度正在增长,与其大小无关。SQLite 的源代码在公共领域。

什么是 SQLite?

SQLite 是一个进程内库,它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。它是一个零配置的数据库,这意味着您不需要像其他数据库一样在系统中配置它。

SQLite 引擎不像其他数据库那样是一个独立的过程,您可以根据需要将它静态或动态地链接到您的应用程序。SQLite 直接访问其存储文件。

为什么是 SQLite?

  • SQLite 不需要单独的服务器进程或系统来运行(无服务器)。

  • SQLite 带有零配置,这意味着不需要设置或管理。

  • 完整的 SQLite 数据库存储在单个跨平台磁盘文件中。

  • SQLite 非常小且重量轻,完全配置时小于 400KiB 或省略可选功能时小于 250KiB。

  • SQLite 是自包含的,这意味着没有外部依赖项。

  • SQLite 事务完全符合 ACID,允许从多个进程或线程安全访问。

  • SQLite 支持 SQL92 (SQL2) 标准中的大多数查询语言功能。

  • SQLite 是用 ANSI-C 编写的,并提供简单易用的 API。

  • SQLite 可用于 UNIX(Linux、Mac OS-X、Android、iOS)和 Windows(Win32、WinCE、WinRT)。

SQLite 简史

  • 2000 – D. Richard Hipp 设计 SQLite 的目的是为了操作程序不需要管理。

  • 2000 – 8 月,SQLite 1.0 与 GNU 数据库管理器一起发布。

  • 2011 – Hipp 宣布将 UNQl 接口添加到 SQLite DB 并开发 UNQLite(面向文档的数据库)。

SQLite 限制

SQLite 中很少有 SQL92 不受支持的功能,如下表所示。

Sr.No. 功能和描述
1

RIGHT OUTER JOIN

只实现了 LEFT OUTER JOIN。

2

FULL OUTER JOIN

只实现了 LEFT OUTER JOIN。

3

ALTER TABLE

支持 ALTER TABLE 命令的 RENAME TABLE 和 ADD COLUMN 变体。不支持 DROP COLUMN、ALTER COLUMN、ADD CONSTRAINT。

4

Trigger support

支持 FOR EACH ROW 触发器,但不支持 FOR EACH STATEMENT 触发器。

5

VIEWs

SQLite 中的视图是只读的。您不能对视图执行 DELETE、INSERT 或 UPDATE 语句。

6

GRANT and REVOKE

唯一可以应用的访问权限是底层操作系统的普通文件访问权限。

SQLite 命令

与关系数据库交互的标准 SQLite 命令类似于 SQL。它们是创建、选择、插入、更新、删除和删除。这些命令可以根据其操作性质分为几组 –

DDL – 数据定义语言

Sr.No. 命令和描述
1

CREATE

在数据库中创建新表、表视图或其他对象。

2

ALTER

修改现有的数据库对象,例如表。

3

DROP

删除整个表、表的视图或数据库中的其他对象。

DML – 数据操作语言

Sr.No. 命令和描述
1

INSERT

创建记录

2

UPDATE

修改记录

3

DELETE

删除记录

DQL – 数据查询语言

Sr.No. 命令和描述
1

SELECT

从一个或多个表中检索某些记录

觉得文章有用?

点个广告表达一下你的爱意吧 !😁