本文将介绍如何在 Deno 中使用 MySQL 进行数据持久化,主要包括以下内容:
- Deno 和 MySQL 的概述
- 安装 Deno、MySQL 和相关依赖包
- 连接 MySQL 数据库
- 创建表并插入数据
- 查询数据
- 更新和删除数据
- 异常处理和错误处理
1. Deno 和 MySQL 的概述
Deno
Deno 是一个新兴的运行时环境,用于编写和执行 JavaScript 和 TypeScript 应用程序。它是由 Node.js 的创始人之一 Ryan Dahl 开发的。Deno 提供了许多有用的特性,例如:
- 安全性:默认情况下,Deno 不会允许访问文件系统、网络和环境变量等,除非您明确请求权限。
- TypeScript 支持:Deno 内置了 TypeScript 编译器,因此可以轻松地使用 TypeScript。
- 内置模块:Deno 内部包括了许多有用的标准库(如标准 HTTP 库),因此无需安装额外的依赖。
- 跟踪错误:Deno 可以跟踪全局未捕获的异常,并输出有关异常的有用信息。
MySQL
MySQL 是一种流行的关系型数据库管理系统,适用于许多不同的应用程序类型。它是一个开源项目,由 Oracle 公司维护和开发。MySQL 提供了各种各样的特性,例如:
- 多用户访问:多个用户可以同时访问 MySQL 数据库。
- 安全性:MySQL 提供了各种安全特性,例如 SSL 加密和身份验证。
- 可扩展性:MySQL 可以在大规模环境中运行,并且支持多台服务器之间的数据复制。
- 事务支持:MySQL 支持事务,确保在查询过程中出现错误时,数据库可以回滚到其之前的状态。
2. 安装 Deno、MySQL 和相关依赖包
在开始使用 Deno 和 MySQL 之前,必须确保您已经安装了它们。 您可以从以下网站下载 Deno 和 MySQL:
- Deno: https://deno.land/
- MySQL:https://www.mysql.com/
安装 Deno 和 MySQL 后,您需要安装 MySQL 驱动程序。 在 Deno 中,可以使用第三方模块管理器 deno.land/x
来安装相关依赖包。 在命令行中运行以下命令即可安装 MySQL 驱动程序:
deno install --allow-net deno_mysql
这将安装 deno_mysql
模块,并允许您在 Deno 中使用 MySQL 驱动程序。
3. 连接 MySQL 数据库
在使用 MySQL 之前,首先需要连接到数据库。 在 Deno 中,可以使用以下代码连接到 MySQL 数据库:
import { Client } from "https://deno.land/x/mysql/mod.ts"; const client = await new Client().connect({ hostname: "127.0.0.1", username: "root", password: "password", db: "database_name", });
这将创建一个名为 client
的新客户端,并与 MySQL 数据库建立连接。 您需要传递 MySQL 主机名、用户名、密码和数据库名称等参数。
4. 创建表并插入数据
连接到 MySQL 数据库后,下一步是创建表并插入数据。 在 Deno 中,可以使用以下代码创建一个名为 users
的新表:
await client.execute(` CREATE TABLE IF NOT EXISTS users ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, email varchar(100) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; `);
这将创建一个包含 id
、name
和 email
列的新表。 id
列将包含一个自动递增的整数值, name
和 email
列将分别包含用户名和电子邮件地址。
接下来,可以使用以下代码向 users
表中插入新数据:
-- -------------------- ---- ------- ----- ---------------------- ---- ----- ------ ------ ------ --- ---- - -------- -------------------- --- ----- ---------------------- ---- ----- ------ ------ ------ --- ---- - ------ ------------------ ---
这将向 users
表中插入两行数据,一个是 Alice,另一个是 Bob。
5. 查询数据
现在,数据已经插入到 users
表中,可以使用以下代码查询数据:
const users = await client.query(`SELECT * FROM users`); for (const user of users) { console.log(user); }
这将输出执行查询返回的数据。 由于上面插入了两行数据,因此输出如下:
{ id: 1, name: "Alice", email: "alice@example.com" } { id: 2, name: "Bob", email: "bob@example.com" }
6. 更新和删除数据
现在可以使用以下代码更新和删除数据:
await client.execute(`UPDATE users SET email = ? WHERE name = ?`, [ "newalice@example.com", "Alice", ]); await client.execute(`DELETE FROM users WHERE name = ?`, ["Bob"]);
这将更新 email
列,并删除 name
为 Bob 的行。
7. 异常处理和错误处理
在实际的项目中,可能会遇到各种各样的错误和异常。 在 Deno 中,可以使用以下代码处理错误和异常:
try { // ... some code that might throw an exception ... } catch (e) { console.log(`Exception caught: ${e}`); } finally { console.log("Finally executed"); }
这将捕获任何异常,并在执行 try 代码块后执行 finally 代码块。
在使用 MySQL 时,您可能会遇到各种错误,例如提交数据时出现的错误。 在 Deno 中,可以使用以下代码捕获 MySQL 错误:
-- -------------------- ---- ------- --- - -- --- ---- ---- ---- ----- ----- - ----- ----- --- - ----- --- - -- -- ---------- ----- -- ----------------------------------- - ---------------------- ----- -------- - ---- - ------------------ ------ ------- - - ------- - -------------------- ----------- -
这将捕获 MySQL 错误,并根据错误消息进行响应。
结论
在本文中,我们介绍了如何在 Deno 中使用 MySQL 进行数据持久化。我们学习了如何连接到 MySQL 数据库,创建表并插入、查询、更新和删除数据。我们还学习了如何处理异常和错误。我们希望这篇文章对您有所帮助,并为您开发 Deno 应用程序提供指导。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6752c89f8bd460d3ad988687