SQLite 简述
SQLite 简述
本章帮助您了解什么是SQLite,它与SQL有何不同,为什么需要它以及它处理应用程序数据库的方式。
SQLite是一个自包含运行库、无需服务器、零配置、事务性SQL数据库引擎。SQLite是全球增长最快的数据库引擎之一,SQLite的源代码位于公共域中。
什么是SQLite?
SQLite一款轻型的数据库,它实现了一个自包含运行库、无服务器、零配置、事务性的SQL数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置它。
SQLite engine不像其他数据库那样是一个独立的进程,您可以根据需要将其与应用程序静态或动态链接。SQLite直接访问其存储文件。
为什么是SQLite?
SQLite不需要单独的服务器进程或系统来运行(无服务器)。
SQLite零配置,这意味着不需要设置或管理。
完整的SQLite数据库存储在单个跨平台磁盘文件中。
SQLite非常小且轻量级,完全配置小于400k或小于250k,省略了可选功能。
SQLite是自包含运行库,这意味着没有外部依赖关系。
SQLite事务完全符合ACID规范,允许从多个进程或线程安全访问。
SQLite支持SQL92 (SQL2)标准中的大多数查询语言功能。
SQLite是用ANSI-C编写的,它提供了简单易用的API。
SQLite可在UNIX (Linux,Mac操作系统-X,Android,iOS)和Windows(Win32,WinCE,WinRT)上使用。
简史
2000年的今天,理查德·希普设计SQLite的目的是不需要管理来运行一个程序。
2000年8月,SQLite 1.0与GNU数据库管理器一起发布。
2011年的今天,Hipp宣布向SQLite数据库添加UNQl接口,并开发面向文档的数据库。
SQLite限制
下表列出了SQLite中SQL92的几个不受支持的功能。
1.RIGHT OUTER JOIN:仅实现LEFT JOIN和OUTER JOIN。
2.FULL OUTER JOIN:仅实现LEFT JOIN和OUTER JOIN.
3.ALTER TABLE:支持ALTER TABLE命令的重命名表和添加列变量。不支持删除列、更改列、添加约束。
4.Trigger support:支持行触发器,但不支持句触发器。
5.VIEWs:SQLite中的视图是只读的。您不能在视图上执行DELETE、INSERT或UPDATE语句。
6.GRANT and REVOKE:唯一可以应用的访问权限是基础操作系统的正常文件访问权限。
SQLite 命令
与关系数据库交互的命令为SQL。支持常见的CREATE, SELECT, INSERT, UPDATE, DELETE和DROP等。这些命令可根据其操作性质分类为:
DDL - 数据定义语言
1.CREATE:创建新表、表视图或数据库中的其他对象。
2.ALTER:修改现有的数据库对象,如表。
3.DROP:删除整个表、表视图或数据库中的其他对象。
DML - 数据操作语言
INSERT 创建记录
UPDATE 修改记录
DELETE 删除记录
DQL - 数据查询语言
SELECT:从一个或多个表检索某些记录