JavaScript/Node.js + Oracle 数据库 - CRUD 教程
本教程将向您介绍如何使用 JavaScript/Node.js 编程语言对 Oracle 数据库执行 CRUD 操作(创建、读取、更新、删除)。
本教程将向您介绍如何使用 JavaScript/Node.js 编程语言对 Oracle 数据库执行 CRUD 操作(创建、读取、更新、删除)。我们将从介绍数据库和编程语言开始,然后逐步指导您完成连接和操作 Oracle 数据库的步骤。最后,我们将提供一个简单的示例,以便您更好地理解如何应用这些概念。
先决条件
为了连接 Oracle 数据库,需要具备以下先决条件:
-
安装 Node.js:确保您已成功安装 Node.js 运行时环境。您可以从 Node.js 官方网站下载适用于您的操作系统的 Node.js 安装程序。
-
Oracle 数据库客户端:您需要安装 Oracle 数据库客户端,以便在 Node.js 中连接到 Oracle 数据库。您可以从 Oracle 官方网站下载适用于您的操作系统的客户端软件。
-
Node.js 库和包:您需要在 Node.js 项目中安装适用于 Oracle 数据库的相关库和包,如
oracledb
。您可以使用 Node 包管理器(npm)来安装这些库。 -
文本编辑器:使用文本编辑器如 Visual Studio Code 来编写 Node.js 代码。
连接 Oracle 数据库
在开始执行 CRUD 操作之前,我们需要建立与 Oracle 数据库的连接。以下是连接到 Oracle 数据库的步骤:
步骤 1:安装 oracledb
包
在项目文件夹中执行以下命令来安装oracledb
包:
npm install oracledb
步骤 2:导入必要的模块
在 Node.js 脚本中导入所需的模块,包括oracledb
模块和其他必要的模块。
const oracledb = require("oracledb")
步骤 3:创建数据库连接
配置 Oracle 数据库连接参数,包括用户名、密码、连接字符串和其他选项。
const dbConfig = {
user: "your_username",
password: "your_password",
connectString: "your_connect_string"
}
确保将your_username
替换为您的数据库用户名,your_password
替换为您的数据库密码,your_connect_string
替换为您的 Oracle 数据库连接字符串。
步骤 4:连接到数据库
使用以下代码创建与 Oracle 数据库的连接:
oracledb.getConnection(dbConfig, (err, connection) => {
if (err) {
console.error("Error connecting to the database: " + err.message)
return
}
console.log("Connected to the database")
// 在这里执行CRUD操作
})
执行 CRUD 操作
现在,我们已经建立了与 Oracle 数据库的连接,让我们继续执行 CRUD 操作。
创建记录
要创建新的记录,使用以下代码:
const createRecord = {
username: "john_doe",
email: "[email protected]"
}
const insertSql = `INSERT INTO user (username, email) VALUES (:username, :email)`
const binds = { username: createRecord.username, email: createRecord.email }
connection.execute(insertSql, binds, (err, result) => {
if (err) {
console.error("Error creating record: " + err.message)
return
}
console.log("Record created successfully")
})
读取记录
要读取记录,使用以下代码:
const query = "SELECT * FROM user"
connection.execute(query, (err, result) => {
if (err) {
console.error("Error reading records: " + err.message)
return
}
for (const record of result.rows) {
console.log("Username: " + record[0] + ", Email: " + record[1])
}
})
更新记录
要更新记录,使用以下代码:
const updateRecord = {
email: "[email protected]"
}
const updateSql = "UPDATE user SET email = :email WHERE username = :username"
const updateBinds = { email: updateRecord.email, username: "john_doe" }
connection.execute(updateSql, updateBinds, (err, result) => {
if (err) {
console.error("Error updating record: " + err.message)
return
}
console.log("Record updated successfully")
})
删除记录
要删除记录,使用以下代码:
const deleteSql = "DELETE FROM user WHERE username = :username"
const deleteBinds = { username: "john_doe" }
connection.execute(deleteSql, deleteBinds, (err, result) => {
if (err) {
console.error("Error deleting record: " + err.message)
return
}
console.log("Record deleted successfully")
})
简单示例
以下是一个简单的示例,演示如何创建、读取、更新和删除用户记录:
const oracledb = require("oracledb")
const dbConfig = {
user: "your_username",
password: "your_password",
connectString: "your_connect_string"
}
oracledb.getConnection(dbConfig, (err, connection) => {
if (err) {
console.error("Error connecting to the database: " + err.message)
return
}
console.log("Connected to the database")
// 创建记录
const createRecord = {
username: "john_doe",
email: "[email protected]"
}
const insertSql = `INSERT INTO user (username, email) VALUES (:username, :email)`
const binds = { username: createRecord.username, email: createRecord.email }
connection.execute(insertSql, binds, (err, result) => {
if (err) {
console.error("Error creating record: " + err.message)
return
}
console.log("Record created successfully")
})
// 读取记录
const query = "SELECT * FROM user"
connection.execute(query, (err, result) => {
if (err) {
console.error("Error reading records: " + err.message)
return
}
for (const record of result.rows) {
console.log("Username: " + record[0] + ", Email: " + record[1])
}
})
// 更新记录
const updateRecord = {
email: "[email protected]"
}
const updateSql = "UPDATE user SET email = :email WHERE username = :username"
const updateBinds = { email: updateRecord.email, username: "john_doe" }
connection.execute(updateSql, updateBinds, (err, result) => {
if (err) {
console.error("Error updating record: " + err.message)
return
}
console.log("Record updated successfully")
})
// 删除记录
const deleteSql = "DELETE FROM user WHERE username = :username"
const deleteBinds = { username: "john_doe" }
connection.execute(deleteSql, deleteBinds, (err, result) => {
if (err) {
console.error("Error deleting record: " + err.message)
return
}
console.log("Record deleted successfully")
})
})
总结
通过本教程,您已经学会了如何使用 JavaScript/Node.js 编程语言连接 Oracle 数据库并执行 CRUD 操作。这些基本的数据库操作是构建更复杂应用程序的基础,希望本文能够帮助您在 Node.js 中使用 Oracle 数据库时更加自信和熟练。如果您希望进行更高级的操作,还可以研究 Oracle 数据库的更多功能和 API。