Deno 是一个由 Rust 和 JavaScript 编写的 TypeScript 运行时,它提供了一个安全、稳定和高效的环境,可以用于编写现代的服务端应用程序。与 Node.js 不同的是,Deno 使用原生的 ES 模块系统来管理依赖,并且默认情况下拒绝访问文件系统和网络等敏感操作,从而提供了更加安全的环境。在本文中,我将会介绍如何在 Deno 中使用 MySQL 数据库。
安装依赖
在开始之前,我们需要安装如下的依赖:
deno
:Deno 运行时环境deno_mysql
:MySQL 客户端库,用于连接和操作 MySQL 数据库
你可以使用如下命令安装它们:
deno install --allow-net https://deno.land/x/mysql/mod.ts
这条命令将会安装 deno_mysql
,同时允许它访问网络。
连接数据库
使用 deno_mysql
的第一步是创建一个数据库连接。为此,我们需要提供 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: "mydatabase", });
在这个示例中,我们创建了一个新的 Client
对象并使用 connect
方法连接到 MySQL 数据库。需要注意的是,connect
方法是一个异步函数,需要使用 await
等待它的返回值。
查询数据
连接到数据库之后,我们可以使用 execute
方法来执行任意 SQL 查询语句。以下是一个执行 SELECT
查询语句的示例:
const result = await client.execute("SELECT * FROM users"); console.log(result.rows);
在这个示例中,我们执行了一个简单的 SELECT
查询语句并使用 console.log
输出查询结果。需要注意的是,execute
方法也是一个异步函数,并且它的返回值是一个 Promise
对象。查询结果存储在 result.rows
属性中,它是一个二维数组,其中包含每一行的数据。
插入数据
除了查询数据之外,我们还可以使用 execute
方法来执行其他 SQL 语句,如 INSERT
、UPDATE
和 DELETE
等。以下是一个插入数据的示例:
const username = "john.doe"; const password = "mypassword"; const result = await client.execute( "INSERT INTO users (username, password) VALUES (?, ?)", [username, password] ); console.log(result);
在这个示例中,我们插入了一条新的用户记录,并在控制台输出了操作结果。需要注意的是,我们使用了 ?
占位符表示查询值,这是为了防止 SQL 注入攻击。execute
方法在执行查询之前会自动使用提供的值进行参数化,以避免这种攻击。
结束会话
当数据库操作结束之后,我们应该及时释放与数据库的连接,以避免资源泄漏和性能问题。我们可以使用 release
方法来关闭连接:
await client.release();
总结
在本文中,我们介绍了如何在 Deno 中使用 deno_mysql
客户端库连接和操作 MySQL 数据库。我们学习了如何创建一个数据库连接,执行查询和插入数据,以及如何结束会话。希望这篇文章能够对你理解 Deno 和 MySQL 数据库的操作有所帮助!
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652e63e37d4982a6ebf6b6b5