SQLite - 教程

  • 简述

    SQLite 是一个软件库,它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。SQLite 是世界上部署最广泛的 SQL 数据库引擎。SQLite 的源代码在公共领域。本教程将为您提供 SQLite 的快速入门,并使您熟悉 SQLite 编程。
    本教程是为初学者准备的,旨在帮助他们了解与 SQLite 数据库引擎相关的基本到高级的概念。
    在您开始练习本参考中给出的各种类型的示例之前,我们假设您已经了解什么是数据库,尤其是 RDBMS,以及什么是计算机编程语言。
    本章帮助您了解什么是 SQLite,它与 SQL 有何不同,为什么需要它以及它处理应用程序数据库的方式。
    SQLite 是一个软件库,它实现了一个自包含、无服务器、零配置、事务性 SQL 数据库引擎。SQLite 是周围增长最快的数据库引擎之一,但就受欢迎程度而言,这是增长,与其大小无关。SQLite 的源代码在公共领域。
  • SQLite 上的有用链接

    • SQLite Home Page - SQLite 的官方网站,为您提供最新版本的 SQLite 安装、新闻和关于 SQLite 的完整教程。
    • PHP SQLite3 - 这提供了有关 SQLite 版本 3 数据库的 PHP 支持的完整详细信息。
    • DBD-SQLite-0.31 - 与 Perl DBI 模块一起使用的 SQLite Perl 驱动程序。
    • DBI-1.625 - Perl DBI 模块,为包括 SQLite 在内的任何数据库提供通用接口。
    • SQLite Python - sqlite3 python 模块由 Gerhard Haring 编写。它提供了符合 DB-API 2.0 规范的 SQL 接口。
  • 什么是 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 不受支持的功能,如下表所示。
    序号 功能和描述
    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。它们是创建、选择、插入、更新、删除和删除。这些命令可以根据其操作性质分为几组 -
  • DDL - 数据定义语言

    序号 命令和描述
    1
    CREATE
    在数据库中创建新表、表视图或其他对象。
    2
    ALTER
    修改现有的数据库对象,例如表。
    3
    DROP
    删除整个表、表的视图或数据库中的其他对象。
  • DML - 数据操作语言

    序号 命令和描述
    1
    INSERT
    创建记录
    2
    UPDATE
    修改记录
    3
    DELETE
    删除记录
  • DQL - 数据查询语言

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