SQLite 创建数据库

2025年6月2日 | 阅读 8 分钟

SQLite 创建数据库

SQLite 是一个简单但功能强大的关系数据库系统,无需服务器即可运行。 它具有自给自足和可移植性,这意味着所有数据都存储在设备上的单个文件中。 这种设计使 SQLite 能够快速安装和使用,而无需大量的技术知识或额外的软件。

SQLite 广泛使用的促成因素是其灵活性。 它可在多种平台上运行,包括 Windows、macOS、LinuxAndroid 和 iOS。 开发人员可以避开与复杂安装过程和持续服务器维护相关的问题,从而节省时间和资源。

SQLite 用于各种现实应用。 例如,它为智能手机上的移动应用程序提供本地存储,并充当流行的 Web 浏览器(如 Google ChromeMozilla Firefox)的数据库引擎。 此外,它经常出现在嵌入式系统、IoT 小工具以及可用性和效率至关重要的中小型软件项目中。

什么是 SQLite 中的数据库?

SQLite 中的数据库是一个结构化文件,其中包含易于维护、更改和检索的有序数据。 由于其基于文件的方法,SQLite 能够将所有数据存储在本地系统上的单个文件中,包括表、索引和模式。 SQLite 直接从数据库文件运行,这使其比需要单独服务器来管理连接和操作的传统数据库系统更简单、更有效。

数据库对于有条不紊地管理和存储数据至关重要。 通过查询,它们使用户能够快速而准确地获取信息。 数据库允许有效的存储和检索,保证数据的一致性和完整性,无论它是监控传感器数据的嵌入式系统还是存储用户偏好的移动应用程序。 由于其简单的实现和轻量级设计,SQLite 非常适合执行这些作业。

SQLite 是无服务器的,这使其与其他关系数据库系统(如 MySQLPostgreSQL)区分开来。 这大大降低了开销,因为它不需要单独的数据库服务器才能运行。 SQLite 还允许并发读取,但它以顺序方式管理写入,这对于许多较小规模的应用程序来说已经足够了。 SQLite 具有可移植性、简单性和独立设计,非常适合需要快速可靠的数据库而无需完整服务器端解决方案的应用程序。

设置 SQLite

设置 SQLite 非常简单,可以在所有主要的操作系统上完成,包括 Windows、macOS 和 Linux。 第一步是从 SQLite 官方网站获取 SQLite 二进制文件。 这些二进制文件包含 SQLite 命令行界面 (CLI),它是与 SQLite 数据库交互的主要工具。

对于 Windows,获取预编译的二进制文件,解压缩它们,然后将文件移动到系统 PATH 环境变量的一部分的文件夹中。 SQLite 通常预安装在 macOS 和 Linux 上。 如果不是这种情况,您可以使用 macOS 的 brew(brew install SQLite)或 Linux 的 apt(sudo apt-get install SQLite3)等软件包管理器进行设置。

即使 SQLite CLI 足以满足大多数作业,一些开发人员也更喜欢第三方图形工具来简化管理。 用于创建、修改和查询数据库的用户友好界面由 SQLiteStudio 和 DB Browser for SQLite 等众所周知的 GUI 程序提供。 通过安装必要的扩展,还可以设置集成开发环境 (IDE)(如 Visual Studio Code)来与 SQLite 一起使用。

在终端或命令提示符中键入 SQLite3 以确认 SQLite 是否正确安装。 如果安装成功,将显示 SQLite 版本和提示,使您可以运行 SQL 语句。 既然 SQLite 已正确安装,您就可以开始构建和维护数据库了。

在 SQLite 中创建数据库

与许多其他数据库系统不同,SQLite 不需要单独的 CREATE DATABASE 命令来创建数据库,这使其变得简单。 相反,一旦您以编程方式或通过 SQLite 命令行界面 (CLI) 连接到它,SQLite 就会生成一个数据库文件。 数据库的所有数据、表和索引都将保存在此文件中。

语法和数据库创建过程

打开终端或命令提示符,然后输入以下命令以建立数据库

输入您为数据库选择的名称来代替 database_name。

例如

如果请求的文件尚不存在,SQLite 将自动在当前工作目录中生成该文件。 该命令将启动 SQLite 交互式提示 (sqlite>),您可以在其中开始输入数据和构建表。

创建表和数据库的示例

以下示例显示了如何创建基本表和数据库

这定义了新创建的数据库文件 example.db 中的用户表。

强调简单性

SQLite 的简单性是其最大的优势之一。 您无需运行大量设置命令、维护连接或配置服务器。 要开始使用,您只需一个命令,例如 sqlite3 database_name.db。 因此,需要快速、高效和可移植的本地数据存储解决方案的开发人员会发现 SQLite 非常有吸引力。

除了有效之外,SQLite 还使所有技能水平的开发人员都可以访问数据库的创建和管理。

SQLite 中的数据库结构

数据在使用 SQLite 中的表、行和列的结构化方式排列。 表中的每一行包含一个记录,每一列指定该记录的特定属性。 表是链接数据的集合。 例如,一个名为 employees 的表可以具有 id、name、position 和 salary 列,每一行代表一个不同员工的数据。

SQLite 数据库的模式决定了它的组织和结构。 从本质上讲,模式是一个蓝图,详细说明了数据库的表、列、数据类型和限制。 SQL 命令(如 CREATE TABLE)在 SQLite 中用于指定和创建模式。 这为数据库提供了一个定义的结构,保证了一致性并使数据检索更加有效。

简单模式的示例

这是一个在 SQLite 中定义模式的示例

使用此模式,将创建一个包含四列的员工表:salary(数字字段)、position(可选文本字段)、name(必需文本字段)和 id(唯一标识符)。

这些类型的基本结构经常被 SQLite 数据库采用,这使得它们非常适合较小的应用程序。 为了保持数据完整性并反映更复杂配置中实体之间的关系,可以建立额外的表并利用外键等关系进行连接。 由于其在数据组织方面的灵活性,SQLite 是嵌入式和轻量级系统的热门选择。

实际示例

这是一个关于使用命令行界面 (CLI) 在 SQLite 中创建和管理数据库的详细教程。 本例展示了如何定义表、创建数据库文件、输入数据以及检索该数据。

步骤 1:创建数据库文件

在终端或命令提示符中输入以下命令

此操作将在当前目录中创建一个名为 example.db 的数据库文件。 如果文件已经存在,SQLite 将打开该文件。 然后将出现 SQLite 交互提示 (sqlite>)。

步骤 2:创建表

使用 CREATE TABLE 命令在 SQLite 提示符下定义表。 例如,要创建一个名为 users 的表,

这将生成一个包含三列的表:name(必需文本字段)、email(唯一必需字段)和 id(唯一标识符文本字段)。

步骤 3:插入数据

INSERT INTO 命令用于向表中添加数据。 例如

用户表因此增加了两行。

步骤 4:查询数据

SELECT 命令用于从表中检索数据。 例如

用户的表中的每一行都使用此命令显示

idnameemail
1Alicealice@example.com
2Bobbob@example.com

步骤 5:退出 SQLite

完成后,保存您对 example.db 文件的修改并通过键入 .exit 退出 SQLite 提示符。

在本例中,您创建了一个数据库、添加了数据、使用了查询来获取数据,并使用表定义了数据库的结构。 由于其易用性,SQLite 是快速有效的数据管理的一个不错的选择,因为它只需要几个命令即可完成所有这些活动。

在 SQLite 中创建数据库的最佳实践

坚持最佳实践对于确保 SQLite 数据库有效且可维护至关重要。

命名约定

为您的数据库、表和列命名,使其易于理解和提供信息。 数据库的名称应该适合其特定用途; 例如,用于管理库存的系统应命名为 inventory.db。 列标题的含义应该清晰(例如,客户名称,而不是仅名称),表标题应该使用复数形式(例如,用户、订单)。 当名称一致时,数据库结构更容易理解。

组织您的模式

设计模式时要考虑效率。 为了减少冗余并保持数据完整性,请规范化您的表。 例如,将重复出现的数据(例如客户信息)保存在不同的数据库中,并使用外键来访问它。 为了提高性能,请索引经常访问的列; 但是,避免过度索引,因为这会导致写入操作滞后。

避免常见错误

应避免使用像 data 或 info 这样的通用列名,因为它们使模式更难阅读。 选择数据类型时要小心,并确保它们符合预期用途(例如,对名称使用 TEXT,对 ID 使用 INTEGER)。 此外,在开发环境中测试模式更改,然后在生产环境中实施它们,并定期备份数据库文件以防止数据丢失。

由于其卓越的效率和易用性,SQLite 是中小型应用程序的绝佳选择。 由于其无服务器设计,开发人员可以专注于构建应用程序,而不是管理数据库,从而无需复杂的设置和配置。 由于其可移植性、轻量级构建和易用性,SQLite 是桌面应用程序、嵌入式系统和移动应用程序的首选。 无论您是处理一个小项目还是需要可靠的本地数据库选项,SQLite 都提供了一个强大且用户友好的解决方案,可以满足各种数据存储需求。


下一个主题SQLite 附加数据库