在本快速教程中,您将学习如何使用node-oracledb在Node.js应用程序中建立与Oracle数据库的连接。
您还将学习如何在数据库中创建SQL表以及如何对数据库执行CRUD(创建,读取,更新和删除)操作。
如何在节点中使用Oracle
如果您在这里寻找如何为Node.js应用程序使用Oracle数据库的示例,那么您来对地方了。
这些是步骤,您需要遵循:
- 首先,如果你没有创建一个项目,开始通过创建一个新项目的文件夹:
mkdir node-oracle-demo && cd node-oracle-demo
, - 接下来,
package.json
在您的文件夹中添加一个 文件:可以手动或使用npm init –y
它来创建一个package.json
具有默认值的基本文件,您可以稍后对其进行更新, - 接下来,安装官方
node-oracledb
模块:(npm install oracledb –save
这将安装模块并将其作为依赖项添加到package.json
文件中) - 接下来,创建一个
server.js
文件并复制下面的代码。 - 最后,使用以下命令运行服务器
node server.js
。您应该获得“成功连接到Oracle!” 终端或命令提示符中显示消息。
let connection;
var oracledb = require('oracledb');
(async function() {
try{
connection = await oracledb.getConnection({
user : 'YOUR_DATABASE_USER',
password : 'YOUR_DATABASE_PASSWORD',
connectString : 'localhost/yourorclpdb'
});
console.log("Successfully connected to Oracle!")
} catch(err) {
console.log("Error: ", err);
} finally {
if (connection) {
try {
await connection.close();
} catch(err) {
console.log("Error when closing the database connection: ", err);
}
}
}
})()
显然,你需要更换
YOUR_DATABASE_USER
,YOUR_DATABASE_PASSWORD
并localhost/yourorclpdb
用自己的值。
CREATE
SQL语句创建数据库表
您可以使用CREATE
SQL语句在数据库中创建表。
例如,让我们创建一个employees
表:
await connection.execute(`CREATE TABLE employees(id NUMBER, name VARCHAR2(50), email VARCHAR2(100) )`);
现在,让我们看看如何对employees
您的Oracle数据库表执行CRUD操作。
执行CRUD操作:如何执行SQL查询
成功连接到Oracle数据库之后,就可以使用对象的execute()
方法对数据库执行SQL查询了connection
。
在上一个连接字符串中,我们指定yourorclpdb
为数据库。我们还将employees
在您的数据库中创建一个表。
现在,让我们看看如何对数据库执行CRUD操作。
在Oracle数据库中创建/插入数据
您可以使用以下代码对数据库执行SQL插入查询:
const sqlQuery = `INSERT INTO employees VALUES (:1, :2)`;
binds = [ ["test001", "test001@email.com" ],
["test002", "test002@email.com" ],
["test003", "test003@email.com" ]];
result = await connection.executeMany(sqlQuery, binds, {});
console.log("Number of inserted rows:", result.rowsAffected);
使用SELECT查询读取数据
让我们看看如何使用execute()
方法和SELECT
SQL查询从数据库读取数据:
connection.execute(
`SELECT *
FROM employees`,
[],
function(err, result) {
if (err) {
console.error(err.message);
return;
}
console.log(result.rows);
});
如果使用node server.js
命令运行应用程序,则应该在终端上显示数据。
可以通过result.rows
数组访问从Oracle数据库返回的数据 。例如,您需要运行以下代码以显示每一行的数据:
rows.forEach( (row) => {
console.log(`${row.name} is in ${row.email}`);
});
使用UPDATE
SQL语句更新数据
您可以使用execute()
方法和UPDATE语句更新数据。例如:
await connection.execute('UPDATE employees SET email = :1 where ID = :2', ['new@email.com', 1]);
这将更新ID为1的员工的电子邮件。
使用DELETE
SQL语句删除数据
您可以使用execute()
方法和DELETE
语句删除数据。例如:
await connection.execute(
'DELETE FROM employees where id = :1', [1]
);
这将删除ID为1的员工。
结论
您已经使用Node.js和Oracle数据库创建了一个简单的CRUD应用程序,用于使用node-oracledb
Node.js的官方客户端执行创建,读取,更新和删除操作。