教程 > sqlite 教程 > 阅读:122

sqlite 简介——迹忆客-ag捕鱼王app官网

本章帮助你了解什么是 sqlite,它与 sql 有何不同,为什么需要它以及它处理应用程序数据库的方式。

sqlite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 sql 数据库引擎。sqlite 是在世界上最广泛部署的 sql 数据库引擎。sqlite 源代码不受ag捕鱼王app官网的版权限制。


什么是 sqlite ?

sqlite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 sql 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。

就像其他数据库,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年 -- 在八月,sqlite1.0 发布 gnu 数据库管理器(gnu database manager)。
  • 2011年 -- hipp 宣布,向 sqlite db 添加 unql 接口,开发 unqlite(面向文档的数据库)。

sqlite 局限性

在 sqlite 中,sql92 不支持的特性如下所示:

特性 描述
right outer join 只实现了 left outer join。
full outer join 只实现了 left outer join。
alter table 支持 rename table 和 alter table 的 add column variants 命令,不支持 drop column、alter column、add constraint。
trigger 支持 支持 for each row 触发器,但不支持 for each statement 触发器。
views 在 sqlite 中,视图是只读的。您不可以在视图上执行 delete、insert 或 update 语句。
grant 和 revoke 可以应用的唯一的访问权限是底层操作系统的正常文件访问权限。

sqlite 命令

与关系数据库进行交互的标准 sqlite 命令类似于 sql。命令包括 create、select、insert、update、delete 和 drop。这些命令基于它们的操作性质可分为以下几种:

ddl - 数据定义语言

命令 描述
create 创建一个新的表,一个表的视图,或者数据库中的其他对象。
alter 修改数据库中的某个已有的数据库对象,比如一个表。
drop 删除整个表,或者表的视图,或者数据库中的其他对象。

dml - 数据操作语言

命令 描述
insert 创建一条记录。
update 修改记录。
delete 删除记录。

dql - 数据查询语言

命令 描述
select 从一个或多个表中检索某些记录。

查看笔记

扫码一下
查看教程更方便
网站地图