英文链接源链接 [19751]
contenteditable="true"

SQLite - Overview 介绍

本章可帮助您了解什么是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.理查德·希普(R. Richard Hipp)设计SQLite的目的是不需要管理程序就可以进行管理。

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

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

SQLite局限性

下表列出了SQLite中SQL92的一些不受支持的功能。

Sr.No.Feature & Description
1

右外加入

仅实现了LEFT OUTER JOIN。

2

完全外部加入

仅实现了LEFT OUTER JOIN。

3

ALTER TABLE

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

4

触发器支持

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

5

观看次数

SQLite中的VIEW是只读的。您可能无法在视图上执行DELETE,INSERT或UPDATE语句。

6

GRANT and REVOKE

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

SQLite命令

与关系数据库进行交互的标准SQLite命令类似于SQL。它们是CREATE,SELECT,INSERT,UPDATE,DELETE和DROP。这些命令可以根据其操作性质分为几类-

DDL-数据定义语言

Sr.No.Command & Description
1

创建

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

2

更改

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

3

DROP

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

DML-数据处理语言

Sr.No.Command & Description
1

插入

创建一条记录

2

更新

修改记录

3

删除

删除记录

DQL-数据查询语言

Sr.No.Command & Description
1

选择

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

点我分享笔记