介绍
在本实验中,你将学习使用 sqlite3 命令行工具处理 SQLite 数据库的基础知识。SQLite 是一个轻量级的、基于文件的数据库系统,非常适合初学者。你将创建数据库、创建表、插入数据、查询数据、添加列、更新数据,并最终删除数据库文件。让我们开始吧!
创建 SQLite 数据库并连接
在此步骤中,你将创建一个新的 SQLite 数据库文件,并使用 sqlite3 命令行工具连接到它。
在 LabEx VM 环境中打开终端。默认情况下,你应该位于
/home/labex/project目录。通过运行以下命令确认:pwd输出应为:
/home/labex/project如果你不在该目录,请运行以下命令导航到它:
cd /home/labex/project创建一个名为
mydatabase.db的新 SQLite 数据库,并使用sqlite3命令连接到它:sqlite3 mydatabase.db如果
mydatabase.db文件不存在,此命令将创建它并打开一个连接。你将看到 SQLite 提示符:SQLite version 3.x.x Enter ".help" for usage hints. sqlite>
sqlite3 命令用于创建和连接 SQLite 数据库。如果指定的数据库文件不存在,SQLite 将会创建它。现在你已准备好在 SQLite 环境中执行 SQL 命令。
创建 users 表
在此步骤中,你将在 mydatabase.db 数据库中创建一个名为 users 的表。
在 SQLite 提示符下,使用以下 SQL 命令创建一个名为 users 的表:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
);
此命令定义了 users 表的结构。id 列是整数类型,并且是主键 (PRIMARY KEY),确保每个用户都有唯一的标识符。name 列是文本字段,不能为空 (NOT NULL),而 age 列是整数类型。
CREATE TABLE 命令是用于定义数据库中表结构的 SQL 基本命令。PRIMARY KEY 约束确保 id 列为每行包含唯一值,而 NOT NULL 约束确保 name 列不能为空。
向 users 表插入数据
现在你已经创建了 users 表,可以向其中插入数据了。这包括向表中添加行(记录),每一行代表一个用户及其相应的信息。
使用 INSERT INTO 命令向 users 表插入以下记录:
INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30);
INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 22);
这些命令向 users 表添加了三行新记录。每一行都包含一个 id、一个 name 和一个 age。
INSERT INTO 命令用于向表中添加新行。在 VALUES 子句中指定的值会被插入到表名后括号中列出的相应列。
从 users 表查询数据
在此步骤中,你将学习如何使用 SELECT 命令从 users 表查询数据。这允许你从数据库中检索特定信息。
使用以下 SQL 命令从 users 表检索所有数据:
SELECT * FROM users;
此命令选择 users 表中的所有行 (rows) 的所有列 (*)。输出将显示你在上一步插入的数据。你应该会看到类似以下内容:
1|Alice|25
2|Bob|30
3|Charlie|22
SELECT 命令是用于从数据库检索数据的强大工具。* 通配符指定应选择所有列。你也可以通过列出列名并用逗号分隔来选择特定列(例如,SELECT name, age FROM users;)。
添加新列并更新数据
在此步骤中,你将向 users 表添加一个名为 email 的新列,然后更新现有记录的电子邮件地址。
使用
ALTER TABLE命令向users表添加一个名为email的新列:ALTER TABLE users ADD COLUMN email TEXT;此命令向
users表添加了一个名为email的新列,类型为TEXT。使用
UPDATE命令为每个用户更新email列:UPDATE users SET email = 'alice@example.com' WHERE id = 1; UPDATE users SET email = 'bob@example.com' WHERE id = 2; UPDATE users SET email = 'charlie@example.com' WHERE id = 3;这些命令为每个用户更新了
email列,并赋予了相应的电子邮件地址。通过查询
users表来检查更新后的数据:SELECT * FROM users;1|Alice|25|alice@example.com 2|Bob|30|bob@example.com 3|Charlie|22|charlie@example.com
ALTER TABLE 命令用于修改现有表的结构。在此示例中,我们添加了一个新列。UPDATE 命令用于修改表中的现有数据。SET 子句指定要更新的列和新值。WHERE 子句根据条件指定要更新的行。
退出 SQLite 并删除数据库文件
在此步骤中,你将退出 SQLite 界面,然后删除数据库文件。由于 SQLite 将所有数据存储在单个文件中,因此删除数据库就像使用 rm 命令删除文件一样简单。请小心操作,此操作是永久性的!
退出 SQLite 提示符:
.quit确保你位于
/home/labex/project目录。通过以下命令确认:pwd输出应为:
/home/labex/project如果不在该目录,请使用以下命令导航到该目录:
cd /home/labex/project使用
rm命令删除mydatabase.db文件:rm mydatabase.db如果删除成功,将不会有任何输出。
通过再次列出目录内容来确认文件已被删除:
ls在输出中你不应再看到
mydatabase.db,这表明文件已被删除。
.quit 命令退出 SQLite shell 并将你返回到 Linux 终端。rm 命令是用于删除文件的标准 Linux 命令。在此示例中,它永久删除了 mydatabase.db 文件,该文件包含你的 SQLite 数据库的所有数据和结构。
总结
在本实验中,你学习了使用 sqlite3 命令行工具创建和管理 SQLite 数据库的基本技能。你创建了一个数据库,创建了一个表,插入了数据,查询了数据,添加了一个新列,更新了数据,最后删除了数据库文件。这些步骤为你打下了坚实的 SQLite 数据库操作基础。


