- SQLite 教程
- SQLite - 首页
- SQLite - 概述
- SQLite - 安装
- SQLite - 命令
- SQLite - 语法
- SQLite - 数据类型
- SQLite - 创建数据库
- SQLite - 附加数据库
- SQLite - 分离数据库
- SQLite - 创建表
- SQLite - 删除表
- SQLite - INSERT 查询
- SQLite - SELECT 查询
- SQLite - 运算符
- SQLite - 表达式
- SQLite - WHERE 子句
- SQLite - AND & OR 子句
- SQLite - UPDATE 查询
- SQLite - DELETE 查询
- SQLite - LIKE 子句
- SQLite - GLOB 子句
- SQLite - LIMIT 子句
- SQLite - ORDER BY 子句
- SQLite - GROUP BY 子句
- SQLite - HAVING 子句
- SQLite - DISTINCT 关键字
- 高级 SQLite
- SQLite - PRAGMA
- SQLite - 约束
- SQLite - JOIN
- SQLite - UNION 子句
- SQLite - NULL 值
- SQLite - 别名语法
- SQLite - 触发器
- SQLite - 索引
- SQLite - INDEXED BY 子句
- SQLite - ALTER 命令
- SQLite - TRUNCATE 命令
- SQLite - 视图
- SQLite - 事务
- SQLite - 子查询
- SQLite - AUTOINCREMENT
- SQLite - 注入
- SQLite - EXPLAIN
- SQLite - VACUUM
- SQLite - 日期和时间
- SQLite - 常用函数
- SQLite 资源
- SQLite - 快速指南
- SQLite - 资源
- 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宣布向SQLite数据库添加UNQl接口并开发UNQLite(面向文档的数据库)。
SQLite 限制
SQLite中有一些SQL92不支持的功能,列在下面的表格中。
序号 | 功能和描述 |
---|---|
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 | 触发器支持 支持FOR EACH ROW触发器,但不支持FOR EACH STATEMENT触发器。 |
5 | 视图 SQLite中的视图是只读的。您不能对视图执行DELETE、INSERT或UPDATE语句。 |
6 | GRANT 和 REVOKE 唯一可以应用的访问权限是底层操作系统的普通文件访问权限。 |
SQLite 命令
与关系数据库交互的标准SQLite命令类似于SQL。它们是CREATE、SELECT、INSERT、UPDATE、DELETE和DROP。这些命令可以根据其操作性质分为几组:
DDL - 数据定义语言
序号 | 命令和描述 |
---|---|
1 | CREATE 在数据库中创建一个新表、表的视图或其他对象。 |
2 | ALTER 修改现有的数据库对象,例如表。 |
3 | DROP 删除数据库中的整个表、表的视图或其他对象。 |
DML - 数据操纵语言
序号 | 命令和描述 |
---|---|
1 | INSERT 创建记录 |
2 | UPDATE 修改记录 |
3 | DELETE 删除记录 |
DQL - 数据查询语言
序号 | 命令和描述 |
---|---|
1 | SELECT 从一个或多个表中检索某些记录 |