SQLite 数据库:如何创建、打开、备份和删除文件

⚡ 智能摘要

SQLite 数据库将整个数据集存储在一个轻量级的文件中,无需服务器、安装或配置。sqlite3 命令行工具可以直接在简单的终端会话中创建、打开、填充、备份和删除这些数据库文件。

  • 🗄️ 没有 CRATE DATABASE 命令: SQLite 没有 CREATE DATABASE 语句;运行 sqlite3 SchoolDB.db 会自动创建该文件。
  • 📂 具体地点: .open 命令会在你指定的任何路径创建或打开数据库。
  • 🧱 从文件中读取模式: Piping 将 .sql 文件导入 sqlite3 会创建一个新的数据库,其中已经填充了各种表。
  • 💾 备份: .backup 命令会将打开的数据库复制到一个新文件中以进行安全保存。ping.
  • 🗑️ Dropping 数据库: SQLite 没有 DROP DATABASE 命令;删除数据库文件会将其完全移除。
  • 🤖 人工智能辅助: GitHub Copilot 和文本转 SQL 工具生成 SQLite 根据纯英文提示创建模式和查询。

SQLite 数据库

SQLite 数据库非常轻量级。与其他数据库系统不同,无需任何配置或安装即可开始使用。 SQLite 数据库。你只需要…… SQLite 该库小于 500 KB,因此您可以立即开始使用。 SQLite 数据库和表。

SQLite 创建数据库

与其他数据库管理系统不同,该系统中没有 CREATE DATABASE 命令。 SQLite以下是创建新数据库的方法:

  • 打开 Windows 从“开始”菜单打开命令行工具(cmd.exe),输入“cmd”,然后打开它。
  • 命令提示符窗口将在默认用户文件夹中打开。在我的电脑上,它是“C:\Users\MGA”:

SQLite 命令提示符在默认的 C:/Users/MGA 用户文件夹中打开

  • 从安装和软件包教程中,你现在应该已经创建了一个 SQLite 在“C”目录下创建文件夹,并将 sqlite3.exe 复制到该文件夹​​中。
  • 接下来,使用以下命令导航到 sqlite3.exe 所在的位置。 SQLite 命令行:

导航到 sqlite3.exe 文件夹 Windows 命令行

以下是使用 sqlite3 命令创建数据库的基本语法:

sqlite3 SchoolDB.db

这将在您复制 .exe 文件的同一目录中创建一个名为“SchoolDB.db”的新数据库。

如果您导航到“c:\sqlite”目录,您会发现已创建文件“SchoolDB.db”,如下面的屏幕截图所示:

运行 sqlite3 SchoolDB.db 命令创建数据库

在 c:/sqlite 目录中创建了 SchoolDB.db 数据库文件

您可以通过输入以下命令来确认数据库已创建。 SQLite 命令:

.databases

这样就能列出已创建的数据库,你应该能在列表中看到新创建的数据库“SchoolDB.db”:

.databases 命令列出了新创建的 SchoolDB 数据库

SQLite 使用 Open 在特定位置创建数据库

如果您想在特定位置(而不是 sqlite3.exe 所在的文件夹)创建数据库文件,以下是如何打开一个 SQLite 数据库文件:

  • 手动导航到 sqlite3.exe 所在的文件夹“C:\sqlite”。
  • Double点击 sqlite3.exe 打开 SQLite 命令行。
  • 打开数据库文件的命令是:

打开一个 SQLite 使用 .open 命令打开指定位置的数据库文件

.open c:/users/mga/desktop/SchoolDB.db

这条命令会创建数据库“SchoolDB.db”,并将文件存储在指定位置。同样的命令也会打开一个已存在的数据库,所以再次运行它只会重新打开该数据库:

.open c:/users/mga/desktop/SchoolDB.db

SQLite 检查该位置是否存在“SchoolDB.db”文件。如果存在, SQLite 打开它;否则,将创建一个具有该文件名的新数据库。

SQLite 创建数据库并使用文件中的表填充它

如果您有一个包含表架构的 .SQL 文件,并且想要创建一个包含相同表的新数据库,以下示例说明了如何操作。

计费示例:

在这里,我们创建了贯穿整个流程的示例数据库。 SQLite 教程,名为“SQLite创建 TutorialsDB”,并按如下方式填充表:

  • 打开文本文件并粘贴以下内容 SQLite 输入命令:
CREATE TABLE [Departments] ( 
	[DepartmentId] INTEGER  NOT NULL PRIMARY KEY, 
	[DepartmentName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Students] (  
	[StudentId] INTEGER  PRIMARY KEY NOT NULL,
	[StudentName] NVARCHAR(50) NOT NULL, 
	[DepartmentId] INTEGER  NULL,   
	[DateOfBirth] DATE  NULL  
);     
CREATE TABLE [Subjects] (  
	[SubjectId] INTEGER  NOT NULL PRIMARY KEY,  
	[SubjectName] NVARCHAR(50)  NOT NULL  
); 
CREATE TABLE [Marks] (  
	[StudentId] INTEGER  NOT NULL,  
	[SubjectId] INTEGER  NOT NULL,  
	[Mark] INTEGER  NULL  
);

以上代码创建了四个表,如下所示:

  • “部门”表,包含以下列:
    • “DepartmentId”是一个整数部门 ID,声明为主键。
    • “DepartmentName” 是一个字符串类型的部门名称,不允许为空值(NOT NULL)。
  • “学生”表,包含以下列:
    • “StudentId”,一个声明为主键的整数。
    • “StudentName”是学生姓名,不允许为空值。
    • “DepartmentId”是一个整数,指的是Departments表中的部门ID。
    • “出生日期”,即学生的出生日期。
  • “主题”表,包含以下列:
    • “SubjectId”,一个声明为主键的整数。
    • “SubjectName”是一个字符串值,不允许为空值。
  • “分数”表,包含以下列:
    • “StudentId”,一个表示学生ID的整数。
    • “SubjectId”,一个表示受试者 ID 的整数。
    • “分数”是指学生在某一科目中获得的成绩,是一个允许取空值的整数。
  • 将文件另存为“SQLiteTutorialsDB.sql”位于与sqlite3.exe相同的位置。
  • 打开 cmd.exe 并导航到 sqlite3.exe 所在的目录。
  • 编写以下命令:
sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

一个新的数据库“SQLite创建了 TutorialsDB”,并且文件“SQLiteTutorialsDB.db”文件放置在同一目录下,具体如下:

此 SQLiteTutorialsDB 数据库由 .sql 模式文件创建

您可以通过打开我们刚刚创建的数据库来确认表是否已创建:

.open SQLiteTutorialsDB.db

然后写入以下命令:

.tables

这将为您提供“中表格的列表”SQLiteTutorialsDB”,你应该能看到我们刚刚创建的四个表:

.tables 命令列出了在以下环境中创建的四个表: SQLite教程数据库

有了示例数据库及其四个表,就可以继续运行了。 SQLite INSERT、UPDATE 和 DELETE 查询 与数据相悖。

SQLite 备份和数据库

要备份数据库,必须先打开该数据库,如下所示:

  • 导航到“C:\sqlite”文件夹,然后双击sqlite3.exe将其打开。
  • 使用以下查询打开数据库:
.open c:/sqlite/sample/SchoolDB.db

此命令打开位于“c:/sqlite/sample/”目录中的数据库。

如果它与 sqlite3.exe 位于同一目录下,则无需指定位置,如下所示:

.open SchoolDB.db

然后,要备份数据库,请输入以下命令。该命令会将整个数据库备份到同一目录下的新文件“SchoolDB.db”中:

.backup SchoolDB.db

执行该命令后,如果没有出现任何错误,则表示备份已成功创建。

SQLite 删除数据库

与其他数据库管理系统不同,该系统中没有 DROP DATABASE 命令。 SQLite如果你想删除数据库 SQLite你只需要删除数据库文件即可。

备注:

  • 同一位置不能创建两个同名数据库;数据库名称在目录中是唯一的。
  • 数据库名称不区分大小写。
  • 创建数据库不需要任何特权。

常见问题

SQLite 是一个无服务器引擎,它将整个数据库保存在一个跨平台文件中。该文件小于 500 KB,无需安装或配置,并且嵌入在应用程序中运行,而不是运行在单独的服务器上。

SQLite 数据库通常使用 .db、.sqlite 或 .db3 扩展名,这三个扩展名都是相同的。 SQLite 它通过内部标头识别文件,因此扩展名只是一个标签。

是的。 SQLite 是公共领域软件,完全免费,可用于个人和商业用途,无需任何许可或版税。其源代码和命令行工具可在官方网站上找到。 SQLite 网站。

使用数据库名称打开 sqlite3,然后运行 ​​.restore 命令并使用备份文件。对于 .sql 转储文件,运行 sqlite3 newdb.db < backup.sql 命令来重放每个语句并重建数据。

SQLite 它基于文件,无需服务器,无需设置,因此适合小型单用户应用程序。 MySQL 运行服务器进程并处理多个并发写入器,适合大型多用户系统。

SQLite 它可嵌入到移动应用、浏览器、桌面软件和物联网设备中,因为它无需服务器即可离线工作。它适用于本地存储、原型开发和读取密集型工作负载。

是的。 GitHub 副驾驶 根据简短注释或纯英文提示生成 CREATE TABLE 语句和 SQL 查询,并解释现有模式。运行生成的 SQL 之前,务必先进行检查。

文本转 SQL 工具和大型语言模型将纯英语问题转换为 SQL 查询语句。 SQLite 通过读取您的模式来生成语句。人工智能助手可以生成、优化和解释查询,但人工审核输出结果仍然至关重要。

总结一下这篇文章: