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宣布将UNQl接口添加到SQLite DB,并开发UNQLite(面向文档的数据库)。

SQLite的限制

SQLite中有一些不支持的SQL92特性,以下表格列出了这些特性。

Sr.No. 功能和描述
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 授权和撤销 只能应用正常的文件访问权限,无法进行其他访问权限设置。

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 从一个或多个表中检索特定的记录

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程