引入 SQLite
SQLite 是一个轻量级的数据库引擎,它将所有数据存储在一个文件中,并且不需要单独的服务器进程或系统配置。这种特性使得 SQLite 成为开发小型应用程序和嵌入式系统的理想选择。
安装 SQLite3 模块
为了在 Deno 应用程序中使用 SQLite,首先需要安装 deno-sqlite3
模块。可以通过以下命令安装:
deno install -A https://deno.land/x/sqlite3/mod.ts
这里 -A
参数表示允许所有权限,因为 SQLite 模块需要访问文件系统。
创建 SQLite 数据库连接
在 Deno 中,你可以通过以下代码创建一个新的 SQLite 数据库连接:
import { open } from "https://deno.land/x/sqlite3/mod.ts"; const db = await open({ filename: "./mydb.sqlite", driver: Deno, });
这里的 filename
参数指定了 SQLite 数据库文件的路径,driver
参数用于指定驱动类型,在这个例子中我们使用 Deno 驱动。
创建表
创建表是操作数据库的基本步骤之一。假设我们要创建一个名为 users
的表,可以执行以下 SQL 语句:
await db.query(` CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL UNIQUE ); `);
这段代码首先检查是否存在名为 users
的表,如果不存在则创建该表。
插入数据
向表中插入数据是一个常见的操作。可以使用以下代码向 users
表中插入一条记录:
await db.query( "INSERT INTO users (name, email) VALUES (?, ?)", ["Alice", "alice@example.com"] );
这里我们使用了参数化查询来防止 SQL 注入攻击。参数值作为第二个参数传递给 query
方法。
查询数据
从表中检索数据也是数据库操作的重要组成部分。下面的代码演示了如何从 users
表中获取所有用户的信息:
const result = await db.query("SELECT * FROM users"); for (const row of result) { console.log(row); }
这段代码会返回一个数组,其中每个元素都是一个对象,代表一行数据。
更新数据
更新现有记录是另一种常见的数据库操作。下面的代码展示了如何更新 users
表中的某条记录:
await db.query( "UPDATE users SET email = ? WHERE name = ?", ["newemail@example.com", "Alice"] );
这条语句将 Alice
的电子邮件地址更新为 newemail@example.com
。
删除数据
删除数据通常用于清理不再需要的数据。下面的代码展示了如何从 users
表中删除某条记录:
await db.query("DELETE FROM users WHERE name = ?", ["Alice"]);
这条语句将删除 Alice
对应的所有记录。
关闭数据库连接
当完成所有的数据库操作后,记得关闭数据库连接以释放资源:
await db.close();
以上就是使用 Deno 和 SQLite 的基本教程。希望这些内容对你有所帮助!接下来我们可以继续探讨更复杂的应用场景,如事务管理、连接池等。