SQLite概述
这个教程帮助您理解SQLite是什么,它如何不同于SQL,为什么它是必要的和它的方式处理应用程序数据库。
SQLite是一个库,实现了一个独立的软件,serverless zero-configuration、事务SQL数据库引擎。SQLite是一个增长最快的数据库引擎,但增长的人气,不与它的大小。SQLite的源代码是在公共领域
SQLite是什么?
SQLite是一个进程内库,实现了一个自包含的,serverless zero-configuration、事务SQL数据库引擎。这是一个数据库,这是zero-configured,这意味着您不需要像其他数据库配置它在您的系统。
SQLite引擎并不是一个独立的流程与其他数据库一样,你可以静态或动态链接按你的要求与您的应用程序。SQLite直接访问它的存储文件。
产生SQLite的原因吗?
- SQLite不需要一个单独的服务器进程或系统操作。(serverless)。
- SQLite附带zero-configuration,这意味着不需要安装或管理。
- 一个完整的SQLite数据库是存储在一个跨平台的磁盘文件中。
- SQLite非常小,重量轻,不到400简约完全配置或少于250简约与省略可选特性。
- SQLite是独立的,这意味着没有外部依赖。
- SQLite事务完全ACID-compliant,允许从多个进程或线程安全访问。
- SQLite支持大多数的查询语言特性对SQL92标准(SQL2)。
- SQLite ansi – c并提供的写在简单和易于使用的API。
- SQLite是可用在UNIX(Linux、Mac OS-X Android,iOS)和Windows(Win32,畏缩,WinRT)。
历史
2000 – d·理查德Hipp SQLite为目的的设计没有政府所需的操作程序。
2000 – 8月SQLite 1.0发布的GNU数据库管理器。
2011——Hipp宣布将UNQl接口添加到SQLite数据库和开发UNQLite(面向文档的数据库)。
SQLite限制:
很少有不支持的特性在SQLite SQL92如下所示
特色 | 描述 |
右外部联接 | 只有实现左外连接 |
全外连接 | 只有实现左外连接 |
修改表的定义 | 重命名表并添加列ALTER TABLE命令支持的变体。删除列,改变列,添加约束不受支持的。 |
触发器支持 | 为每一行触发器支持但不是每个语句触发器。 |
视图 | SQLite是只读视图。你可能不执行删除、插入或更新声明一个视图 |
授权和撤销 | 唯一的访问权限,可以应用的底层操作系统的正常文件访问权限。 |
SQLite命令:
标准的SQLite命令与关系数据库和SQL是相似的。他们是创建、选择、插入、更新、删除和下降。这些命令可以分为组织根据自己的操作性质:
DDL -数据定义语言:
命令 | 描述 |
CREATE | 创建一个新表,一个表的视图,在数据库或其他对象 |
ALTER | 修改一个现有的数据库对象,例如表 |
DROP | 删除整个表,一个表或其他对象的视图在数据库中 |
DML -数据操作语言:
命令 | 描述 |
INSERT | 创建一个记录 |
UPDATE | 修改记录 |
DELETE | 删除记录 |
DQL -数据查询语言:
命令 | 描述 |
SELECT | 检索特定的记录从一个或多个表 |