SQLite 数据库非常轻量级。与其他数据库系统不同,开始使用 SQLite 数据库时无需配置和安装。

您需要的是小于 500KB 的 SQLite 库。我们将直接开始使用 SQLite 数据库和表格。

SQLite 创建数据库

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

  • 从开始菜单打开 Windows 命令行工具 (cmd.exe),键入 cmd 并打开它。
  • cmd 将在默认的用户文件夹中打开,在我的机器上是 C:\Users\sean>:

SQLite创建数据库

  • 通过安装和软件包教程,您现在应该已经在 E 目录下创建了一个 SQLite 文件夹,并复制了 sqlite3.exe 文件。
  • 然后,我们应通过以下命令导航到 sqlite3.exe 所在的位置:

SQLite创建数据库

  • 然后键入以下命令 sqlite3 SchoolDB.db
  • 这将在复制 .exe 文件的同一目录下创建一个新数据库,名称为 SchoolDB.db 。

SQLite创建数据库

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

image-20241120182412674

  • 编写以下命令可确保数据库已创建:.databases 这将显示已创建的数据库列表,其中应列出新数据库 SchoolDB.db :

SQLite创建数据库

SQLite在特定位置创建数据库:

如果想在特定位置而不是 sqlite3.exe 所在的同一位置创建数据库文件,可以这样做:

  • 手动导航到 sqlite3.exe 所在文件夹 “E:\sqlite”.

SQLite创建数据库

  • 双击 sqlite3.exe 打开命令行。

  • 运行以下命令

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

  • 这将创建一个名称为 SchoolDB.db 的新数据库,并将数据库文件存储在指定的位置。 请注意,如果数据库文件已经创建,将使用相同的命令打开数据库文件。因此,如果再次编写完全相同的命令,就会打开数据库本身

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

  • SQLite 将检查文件名 SchoolDB.db 是否在同一位置。如果文件存在,将打开它。否则,将在指定位置以指定的相同文件名创建一个新数据库。

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

如果您有一个包含表模式的 .SQL 文件,并且想用该文件中的表创建一个新数据库,我们将在下面的示例中介绍如何操作。

示例

在下面的示例中,我们将创建示例数据库。我们将在整个 SQLite 教程中使用该示例数据库,其名称为 SQLiteTutorialsDB,并在其中填充表。如下所示:

  • 打开一个文本文件并粘贴以下命令:
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
);

上述代码将创建以下四个表格:

  • "Departments" 表中有以下几列:

  • " DepartmentId " 是一个整数,表示部门 ID,并声明为 PRIMARY KEY(稍后在 “列约束 ”部分进行解释)。

  • " DepartmentName " – 是部门的字符串名称,使用 NOT NULL 约束时不允许使用空值。

  • " Students " 表中有以下几列:

  • " StudentId " 是一个整数,并声明为 PRIMARY KEY。

  • " StudentName " – 学生姓名,并且使用 NOT NULL 约束不允许使用空值。
  • " DepartmentId " 整数,指部门表中部门 id 列的部门 Id。
  • " DateOfBirth " 学生的出生日期。

  • " Subjects " 表中有以下几列:

  • " SubjectId " 是一个整数,并声明为 PRIMARY KEY。

  • " SubjectName " 字符串值,而且不允许使用空值。

  • "Marks" 表中有以下几列:

  • " StudentId " 整数表示学生编号。

  • " SubjectId " 整数表示主题 ID。
  • " Mark " 它也是整数,并且允许空值。

  • 将文件保存到 SQLite,文件名为 SQLiteTutorialsDB.sql ,保存在 sqlite3.exe 所在的相同位置。

  • 打开 cmd.exe,并导航到 sqlite3.exe 所在的目录。

  • 编写以下命令

sqlite sqlite3 SQLiteTutorialsDB.db < SQLiteTutorialsDB.sql

  • 然后,应创建一个新数据库 SQLiteTutorialsDB ,文件 SQLiteTutorialsDB.db 将位于同一目录下。如下所示:

SQLite创建数据库

  • 您可以像这样打开我们刚刚创建的数据库,以确保创建了该表:

sqlite .open SQLiteTutorialsDB.db

  • 然后编写以下命令

sqlite .tables

  • 该命令将显示 SQLiteTutorialsDB 中的表列表,你应该能看到我们刚刚创建的四个表:

SQLite创建数据库

SQLite 备份和数据库

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

  • 导航到 “ E:\sqlite ” 文件夹,然后双击 sqlite3.exe 打开它。

  • 使用以下命令打开数据库

sqlite .open e:/sqlite/sample/SchoolDB.db

该命令将打开位于以下目录的数据库 “e:/sqlite/sample/”

  • 如果它与 sqlite3.exe 位于同一目录下,则无需指定位置,就像这样:

sqlite .open SchoolDB.db

  • 然后编写以下命令来备份数据库:

  • 这将把整个数据库备份到同一目录下的新文件 SchoolDB.db 中:

sqlite .backup SchoolDB.db

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

### SQLite Drop 数据库

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

注意:

  • 不能在同一位置创建两个名称相同的数据库,数据库名称在同一目录下是唯一的。

  • 数据库名称不区分大小写。

  • 创建数据库不需要权限。