📜  postgres 插入 knex (1)

📅  最后修改于: 2023-12-03 15:18:37.936000             🧑  作者: Mango

Postgres 插入 Knex

Knex 是一个 Node.js 的 SQL 查询构建器,它支持多种数据库,包括 Postgres,MySQL,SQLite3 等等。在这里,我将会介绍如何在 Postgres 数据库中进行插入操作。

准备工作

要使用 Knex 对 Postgres 进行插入操作,你需要先安装依赖包:

npm install knex pg

上述命令会同时安装 knexpg,其中 pg 是 Knex 对于 Postgres 的驱动程序。

接着,你可以在代码中引入 knexpg

const knex = require('knex')({
  client: 'pg',
  connection: {
    host: '127.0.0.1',
    user: 'your_database_user',
    password: 'your_database_password',
    database: 'myapp_test'
  }
});

其中,connection 部分需要根据你的实际情况来填写,这里只是一个示例。

插入数据

在完成了准备工作后,你可以编写代码来进行插入操作。下面是一个示例:

knex('books').insert({title: 'Slaughterhouse-Five', author: 'Kurt Vonnegut'})
  .then(() => console.log('inserted successfully'))
  .catch((err) => console.error(err));

上述代码中,我们使用 knex() 来指定要插入数据的表名,也就是 books。然后,我们使用 .insert() 方法来传入要插入的数据,这里是一本书的标题和作者。最后,我们使用 .then().catch() 来处理插入结果。

批量插入

如果你要插入多条数据,可以使用 .insert() 方法的一个数组参数:

knex('books').insert([
  {title: 'Slaughterhouse-Five', author: 'Kurt Vonnegut'},
  {title: 'The Catcher in the Rye', author: 'J.D. Salinger'},
  {title: 'Brave New World', author: 'Aldous Huxley'}
])
  .then(() => console.log('inserted successfully'))
  .catch((err) => console.error(err));
插入多列数据

除了在 .insert() 方法中传入一个对象,你还可以通过一个数组来传入多个数据列:

knex('books').insert([
  {title: 'Slaughterhouse-Five', author: 'Kurt Vonnegut'},
  {title: 'The Catcher in the Rye', author: 'J.D. Salinger'},
  {title: 'Brave New World', author: 'Aldous Huxley'}
], 'id')
  .then(() => console.log('inserted successfully'))
  .catch((err) => console.error(err));

在上述代码中,'id' 参数表示返回自增列的值(如果有的话)。

结论

在本文中,我们介绍了如何使用 Knex 对 Postgres 进行插入操作,包括单条插入和批量插入。如果你想了解更多关于 Knex 的用法,可以查看 Knex 官方文档