位置:首页 > > SQLite 是什么?

SQLite 是什么?

SQLite是一个软件库,实现自足,服务器,零配置,事务性的SQL数据库引擎。SQLite是一个增长最快的数据库引擎,但是这是人气,没有多少增长率。SQLite源代码是属于公有领域。

什么是SQLite?

SQLite是一个过程中的库,实现自足,服务器,零配置,事务性的SQL数据库引擎。它是一个数据库,它是零配置,这意味着其他数据库一样,不需要在系统中配置。

像其他数据库,SQLite引擎不是一个独立的过程,可以按应用程序要求连结静态或动态。 SQLite 直接访问其存储文件。

为什么要用SQLite?

  • SQLite不需要一个单独的服务器进程或系统操作(服务器)。

  • SQLite 不需要配置,这意味着没有需要安装或管理。

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

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

  • SQLite是自足的,这意味着不需要任何外部的依赖。

  • SQLite的交易是完全符合ACID,允许多个进程或线程安全访问。

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

  • SQLite是在ANSI-C编写的,并提供了简单和易于使用的API。

  • SQLite可在UNIX(在Linux,Mac OS-X,Android,IOS)和Windows(Win32中,WINCE,WinRT的)中运行。

历史:

  1. 2000 -- D. 理查德·希普设计SQLite是为经营程序所需的任何管理的目的。

  2. 2000 -- 在八月的SQLite1.0发布用GNU的数据库管理器。

  3. 2011 -- 希普(Hipp)宣布,以添加UNQl的接口SQLite的DB和发展UNQLite(面向文档的数据库)。

SQLite的局限性:

有几个SQL92 的在SQLite中不支持的功能如下所示:

特性 描述
RIGHT OUTER JOIN Only LEFT OUTER JOIN is implemented.
FULL OUTER JOIN Only LEFT OUTER JOIN is implemented.
ALTER TABLE The RENAME TABLE and ADD COLUMN variants of the ALTER TABLE command are supported. The DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT not supported.
Trigger support FOR EACH ROW triggers are supported but not FOR EACH STATEMENT triggers.
VIEWs VIEWs in SQLite are read-only. You may not execute a DELETE, INSERT, or UPDATE statement on a view.
GRANT and REVOKE The only access permissions that can be applied are the normal file access permissions of the underlying operating system.

SQLite的命令:

类似SQL与关系数据库进行交互的标准SQLite命令。他们创建 CREATE, SELECT, INSERT, UPDATE, DELETE 和 DROP。这些命令组基于其业务性质可分为:

DDL - 数据定义语言:

命令 描述
CREATE Creates a new table, a view of a table, or other object in database
ALTER Modifies an existing database object, such as a table.
DROP Deletes an entire table, a view of a table or other object in the database.

DML - 数据操纵语言:

命令 描述
INSERT Creates a record
UPDATE Modifies records
DELETE Deletes records

DQL - 数据查询语言:

命令 描述
SELECT Retrieves certain records from one or more tables