返回

Deno 和 MySQL 建立无缝连接:增删查改指南

见解分享

引言

在现代网络开发领域,数据库管理是一项必不可少的技能。Deno,作为一种现代的 JavaScript 运行时环境,提供了与 MySQL 等关系型数据库交互的强大功能。本文将深入探讨使用 Deno 进行 MySQL 增删查改 (CRUD) 操作的最佳实践,包括页面交互的实现。

建立数据库连接

要开始使用 Deno 操作 MySQL 数据库,您需要建立一个连接。可以使用 Deno 提供的 mysql 模块来实现此目的。以下代码段展示了如何连接到 MySQL 数据库:

import { createConnection } from "https://deno.land/x/mysql/mod.ts";

const connection = await createConnection({
  hostname: "localhost",
  username: "root",
  password: "",
  database: "my_database",
});

增 (Create)

创建新记录涉及使用 insert 查询。该查询接受要插入的数据作为参数,并返回一个表示插入记录数的数字。以下示例演示了如何插入一条新记录:

const result = await connection.execute(`
  INSERT INTO users (name, email)
  VALUES ('John Doe', 'john.doe@example.com')
`);

console.log(`Inserted ${result.rowCount} record(s).`);

删 (Delete)

删除记录需要使用 delete 查询。该查询根据指定的条件删除匹配的记录,并返回一个表示已删除记录数的数字。以下示例演示了如何删除一条记录:

const result = await connection.execute(`
  DELETE FROM users
  WHERE id = 1
`);

console.log(`Deleted ${result.rowCount} record(s).`);

查 (Read)

检索记录可以通过 select 查询来完成。该查询返回一个包含匹配记录数据的数组。以下示例演示了如何查询所有记录:

const result = await connection.execute(`
  SELECT * FROM users
`);

console.log(result.rows);

改 (Update)

更新记录需要使用 update 查询。该查询根据指定的条件更新匹配的记录,并返回一个表示已更新记录数的数字。以下示例演示了如何更新一条记录:

const result = await connection.execute(`
  UPDATE users
  SET name = 'Jane Doe'
  WHERE id = 1
`);

console.log(`Updated ${result.rowCount} record(s).`);

页面交互

为了将 CRUD 操作与页面交互集成,可以使用 Deno 的 HTTP 服务器。以下示例展示了一个简单的页面,允许用户创建、读取、更新和删除记录:

import { serve } from "https://deno.land/std/http/server.ts";

const server = serve({ port: 8000 });

console.log("HTTP server listening on port 8000");

for await (const req of server) {
  const url = new URL(req.url);
  const path = url.pathname;

  if (path === "/create") {
    // Handle create request
  } else if (path === "/read") {
    // Handle read request
  } else if (path === "/update") {
    // Handle update request
  } else if (path === "/delete") {
    // Handle delete request
  }
}

结语

通过使用 Deno 与 MySQL 交互,开发人员可以轻松有效地管理数据库。本文提供的指南涵盖了增删查改操作以及页面交互集成的最佳实践,使开发人员能够构建健壮且用户友好的数据库驱动的应用程序。