Node.js Oracle CRUD示例:数据库连接和SQL查询

在本快速教程中,您将学习如何使用node-oracledb在Node.js应用程序中建立与Oracle数据库的连接。

您还将学习如何在数据库中创建SQL表以及如何对数据库执行CRUD(创建,读取,更新和删除)操作。

如何在节点中使用Oracle

如果您在这里寻找如何为Node.js应用程序使用Oracle数据库的示例,那么您来对地方了。

这些是步骤,您需要遵循:

  1. 首先,如果你没有创建一个项目,开始通过创建一个新项目的文件夹: mkdir node-oracle-demo && cd node-oracle-demo
  2. 接下来,package.json 在您的文件夹中添加一个 文件:可以手动或使用 npm init –y它来创建一个package.json具有默认值的基本文件,您可以稍后对其进行更新,
  3. 接下来,安装官方node-oracledb模块:( npm install oracledb –save这将安装模块并将其作为依赖项添加到package.json文件中)
  4. 接下来,创建一个 server.js 文件并复制下面的代码。
  5. 最后,使用以下命令运行服务器 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_USERYOUR_DATABASE_PASSWORDlocalhost/yourorclpdb用自己的值。

 

 

使用CREATESQL语句创建数据库表

您可以使用CREATESQL语句在数据库中创建表。

例如,让我们创建一个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()方法和SELECTSQL查询从数据库读取数据:

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}`);
});

使用UPDATESQL语句更新数据

您可以使用execute()方法和UPDATE语句更新数据。例如:

await connection.execute('UPDATE employees SET email = :1 where ID = :2', ['new@email.com', 1]);

这将更新ID为1的员工的电子邮件。

使用DELETESQL语句删除数据

您可以使用execute()方法和DELETE语句删除数据。例如:

await connection.execute(
  'DELETE FROM employees where id = :1', [1]
);

这将删除ID为1的员工。

结论

 

在本教程中,我们仅看到了Oracle客户端提供的简单方法的子集。有关更多信息,请参阅 官方资料库

 

您已经使用Node.js和Oracle数据库创建了一个简单的CRUD应用程序,用于使用node-oracledbNode.js的官方客户端执行创建,读取,更新和删除操作。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值