SQLite简介

我们为什么要选择 SQLite ?

SQLite 与 其它数据库有什么不同?

SQLite 用起来会很复杂吗?

SQLite 适用于什么领域?

接下来,我们将一一解答我们自己提出的疑问?

SQLite 是 什么?

SQLite是一个进程内的数据库,实现了没有任何外部依赖、无服务器的、零配置的、事务性的 SQL 数据库引擎

它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。

SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。

SQLite 直接访问其存储文件

为什么要用 SQLite?

SQLite 有许多的优点,这些优点使得它非常适合嵌入式领域开发

  • SQLite 是无服务器的,意思是不需要一个单独的服务器进程或操作的系统

  • SQLite 不需要配置,不需要安装或管理

  • SQLite 数据库只有一个文件,一个单一的跨平台的磁盘文件

  • SQLite 是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB

  • SQLite 是没有任何外部的依赖

  • SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问

  • SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能

  • SQLite 使用 C 编写的,并提供了简单和易于使用的 API

  • SQLite 是跨平台的,可以在 UNIX 、Linux、Windows 、MacOS 上使用

SQLite 局限性

SQLite 既然是轻量的,嵌入式的,那么它难免会有一些局限性

特性 描述
RIGHT OUTER JOIN 只实现了 LEFT OUTER JOIN
FULL OUTER JOIN 只实现了 LEFT OUTER JOIN
ALTER TABLE 支持
RENAME TABLE ADD COLUMN variants
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 只可以设置底层操作系统的正常文件访问权限

大概来讲,就是表一旦创建就不要修改,不要执行复杂的连表操作,不能使用视图,不能设置复杂的访问权限

如果你需要上面这些,可以使用 MySQL 或者 MariaDB

SQLite 支持的命令

SQLite 是一个 DDL/DML/DQL 完备的数据库 SQLite 命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP 等

DDL - 数据定义语言

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

DML - 数据操作语言

命令 描述
INSERT 创建一条记录
UPDATE 修改记录
DELETE 删除记录

DQL - 数据查询语言

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

SQLite 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.