SQLite 入门教程

SQLite 教程摘要


在这篇面向初学者的 SQLite 教程中,我们通过详细的示例涵盖了从基础到高级的所有 SQLite 主题。本课程将通过易于理解的主题和示例帮助您学习 SQLite。在本 SQLite 培训课程结束时,我们提供了一份详细的 SQLite 教程 PDF,您可以购买后进行离线学习。

什么是 SQLite?

SQLite 是一个开源、嵌入式的关系型数据库管理系统,设计于 2000 年左右。它是一个轻量级数据库,零配置,无需服务器或安装。尽管它很简单,但却拥有数据库管理系统的各种流行功能。

学习 SQLite 的先决条件

在开始学习本 SQLite 教程之前,建议您对 DBMSSQL 有基本的了解。

SQLite 教程大纲

以下是我们在本 SQLite 课程中将涵盖的内容

👉 第 1 课 下载和安装 SQLite — 如何在 Windows 上下载和安装 SQLite
👉 第 2 课 SQLite 数据库 — 如何创建、打开、备份和删除文件
👉 第 3 课 SQLite 创建、修改、删除表 — 通过示例学习
👉 第 4 课 SQLite 主键和外键 — 通过示例学习
👉 第 5 课 SQLite 数据类型 — SQLite 中的数据类型及示例
👉 第 6 课 SQLite 查询 — Select、Where、LIMIT、OFFSET、Count、Group By
👉 第 7 课 SQLite 连接 — 自然左外连接、内连接、交叉连接及表示例
👉 第 8 课 SQLite INSERT、UPDATE、DELETE 查询 — 通过示例学习
👉 第 9 课 SQLite 索引、触发器和视图 — 通过示例学习
👉 第 10 课 SQLite 字符串函数 — REPLACE、SUBSTR、TRIM、ROUND (示例)
👉 第 11 课 SQLite 面试题 — 排名前 20 的 SQLite 面试题及答案
👉 第 12 课 SQLite 教程 PDF — 下载面向初学者的 SQLite 教程 PDF

您将在这个 SQLite 入门教程中学到什么?

在这个 SQLite 入门教程中,您将学习如何下载和安装 SQLite、创建数据库、表操作、键、数据类型、查询、连接、视图、函数以及面试问题。

SQLite 的主要特性

  • 与其他数据库管理系统(如 SQL Server 或 Oracle)相比,SQLite 非常轻量级(小于 500Kb)。
  • SQLite 不是客户端-服务器数据库管理系统。它是一个可以直接调用和使用的内存库。无需安装和配置。
  • 一个典型的 SQLite 数据库包含在计算机磁盘存储上的单个文件中,所有数据库对象(表、视图、触发器等)都包含在该文件中。无需专用服务器。

尽管它很简单,但却拥有数据库管理系统的各种流行功能。

何时使用 SQLite?

  • 如果您正在为电视、手机、相机、家用电子设备等开发嵌入式软件,那么 SQLite 是一个不错的选择。
  • SQLite 可以处理低到中等流量的 HTTP 请求,并管理网站的复杂会话信息。
  • 当您需要存储文件归档时,SQLite 可以生成比常规 ZIP 归档更小且元数据更少的归档文件。
  • 如果您需要在应用程序中处理一些数据,可以将 SQLite 用作临时数据集。您可以将数据加载到 SQLite 内存数据库中并执行所需的查询。您可以以您想要在应用程序中显示的格式提取数据。
  • 它为您提供了一种简单高效的方式来使用内存变量进行处理。例如,您正在开发一个需要对一些记录进行计算的程序。您可以创建一个 SQLite 数据库并在其中插入记录,然后只需一个查询就可以选择记录并进行计算。
  • 当您需要一个用于学习和培训目的的数据库系统时,SQLite 非常适合。正如我们之前解释的,无需安装或配置。只需将 SQLite 库复制到您的计算机上,您就可以开始学习了。

为什么使用 SQLite?

以下指南将帮助您确定是否应为您的下一个项目选择 SQLite

  • 它是免费的。SQLite 是开源的,使用它不需要商业许可证。
  • SQLite 是一个跨平台的数据库管理系统。它可以在多种平台上使用,如 Windows、Mac OS、Linux 和 Unix。它也可以在许多嵌入式操作系统上使用,如 Symbian 和 Windows CE。
  • SQLite 提供了一种高效的数据存储方式,列的长度是可变的,而不是固定的。因此,SQLite 只会为字段分配所需的空间。例如,如果您有一个 varchar(200) 的列,并且在其中放入一个 10 个字符长度的值,那么 SQLite 将只为该值分配 20 个字符的空间,而不是整个 200 的空间。
  • 广泛的 SQLite API - SQLite 为多种编程语言提供了 API,例如 .Net 语言 (Visual Basic, C#)、PHP、Java、Objective C、Python 以及许多其他编程语言。
  • SQLite 非常灵活。
  • SQLite 的变量是动态类型的,这意味着变量的类型在赋值之前是不确定的,而不是在声明时定义的。
  • INSERT ON CONFLICT REPLACE 语句。通过此语句,您可以告诉 SQLite 尝试在表中进行插入,如果发现具有相同主键的行,则使用插入的值更新它们。
  • 使用 SQLite,您可以在同一会话中同时处理多个数据库。只需附加这些数据库,然后您就可以同时访问所有数据库的对象(表、视图等)。

SQLite 的限制和不支持的功能

以下是 SQLite 中不支持的功能和限制列表

  • SQLite 不支持 RIGHT OUTER JOIN 和 FULL OUTER JOIN。它只支持 LEFT OUTER JOIN。
  • ALTER table 语句的限制:在 SQLite 中,使用 ALTER TABLE 语句您只能添加一列或重命名一个表(我们将在后续教程中看到)。但是,您不能执行以下操作:
  • 修改列 (ALTER column)。
  • 删除列 (DROP a column)。
  • 添加约束 (ADD a constraint)。
  • 视图是只读的——您不能对视图执行 INSERT、DELETE 或 UPDATE 语句。但是,您可以在视图上创建一个触发器,并在其中执行 INSERT、DELETE 或 UPDATE 语句。
  • SQLite 中未实现 GRANT 和 REVOKE 命令。SQLite 中只实现了普通的文件访问权限。这是因为 SQLite 直接读写磁盘文件,与其他数据库管理系统不同。
  • 触发器——我们将在接下来的教程中看到,SQLite 只支持 FOR EACH ROW 触发器,而不支持 FOR EACH STATEMENT 触发器。