MySQL Knex NodeJS将数据插入到数据库中

MySQL Knex NodeJS将数据插入到数据库中

在现代Web应用程序中,数据库是一个重要的组件,其中MySQL是最流行的关系数据库管理系统之一。 在NodeJS中,我们可以使用Knex库来与MySQL数据库进行交互,使我们可以轻松地插入数据,从而构建强大的Web应用程序。在本文中,我们将介绍如何使用MySQL Knex NodeJS将数据插入到数据库中。

阅读更多:MySQL 教程

安装MySQL和Knex

在开始之前,请确保您在系统上安装了MySQL数据库和NodeJS。 您可以从MySQL官方网站下载并安装MySQL,同时使用npm来安装Knex库。

npm install knex --save

创建MySQL数据库

要使用MySQL Knex NodeJS插入数据,我们需要首先创建一个数据库。 打开MySQL终端,并使用以下命令创建一个名为”testdb”的数据库。

create database testdb;

现在我们已经创建了数据库,我们可以使用以下命令创建一个名为”users”的表格,以存储用户数据。

use testdb;
create table users (
  id int not null auto_increment,
  name varchar(255) not null,
  email varchar(255) not null,
  primary key (id)
);

这将创建一个具有id,name和email列的用户表。id列是一个自动递增的列,使我们可以轻松地为每个用户分配一个唯一的标识符。

连接到MySQL数据库

通过使用Knex,连接到MySQL数据库非常容易。 要连接到数据库,请使用以下代码:

const knex = require('knex')({
  client: 'mysql',
  connection: {
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'testdb'
  }
});

这将创建一个名为knex的数据库连接对象,并使用localhost上的root用户访问testdb数据库。如果您的MySQL安装需要密码,请将其包含在密码字段中。

插入数据

现在我们已经连接到数据库,让我们来插入一些数据。 要插入数据,请使用以下代码:

knex('users').insert({
  name: 'John Doe',
  email: 'john@example.com'
}).then(() => {
  console.log('Data inserted successfully!');
}).catch((err) => {
  console.log(err);
}).finally(() => {
  knex.destroy();
});

这将向我们的用户表中插入一个名为John Doe的用户,并将其电子邮件设置为john@example.com。insert()方法返回一个Promise对象,该对象在数据插入成功后解析。如果发生错误,则将拒绝Promise,因此我们可以使用catch()方法来捕获错误。最后,我们必须使用destroy()方法关闭数据库连接。

我们还可以插入我们想要的任何其他数据。例如,以下代码将向user表中插入两个用户:

knex('users').insert([
  { name: 'John Doe', email: 'john@example.com' },
  { name: 'Jane Doe', email: 'jane@example.com' }
]).then(() => {
  console.log('Data inserted successfully!');
}).catch((err) => {
  console.log(err);
}).finally(() => {
  knex.destroy();
});

查询数据

我们已经成功地向数据库中插入了一些数据,让我们来查看如何通过Knex获取它。要检索数据,请使用以下代码:

knex('users').select('*').then((rows) => {
  console.log(rows);
}).catch((err) => {
  console.log(err);
}).finally(() => {
  knex.destroy();
});

这将检索我们用户表中的所有数据,并在控制台中显示它们。 select()方法可以接受数据库中存在的所有列名,以逗号分隔的字符串数组格式,也可以使用通配符(*)检索所有列。如果需要,我们还可以使用where()方法附加一个条件,例如:

knex('users').select('*').where('name', 'John Doe').then((rows) => {
  console.log(rows);
}).catch((err) => {
  console.log(err);
}).finally(() => {
  knex.destroy();
});

这将只返回名为”John Doe”的用户的数据。

更新数据

如果我们需要更新数据库中的数据,我们可以使用update()方法。例如,以下代码将更新名为”John Doe”的用户的电子邮件:

knex('users').where('name', 'John Doe').update({
  email: 'newemail@example.com'
}).then(() => {
  console.log('Data updated successfully!');
}).catch((err) => {
  console.log(err);
}).finally(() => {
  knex.destroy();
});

此代码将更新名为”John Doe”的用户的电子邮件,并在成功时输出一条消息。

删除数据

最后,让我们看一下如何从数据库中删除数据。我们可以使用delete()方法来删除满足特定条件的行。例如,以下代码将删除名为”John Doe”的用户的数据:

knex('users').where('name', 'John Doe').del().then(() => {
  console.log('Data deleted successfully!');
}).catch((err) => {
  console.log(err);
}).finally(() => {
  knex.destroy();
});

此代码将从我们的用户表中删除名为”John Doe”的用户,并在成功时输出一条消息。

总结

在本文中,我们了解了如何使用MySQL Knex NodeJS将数据插入到数据库中。我们学习了如何创建数据库和表格,如何连接到数据库,如何插入,查询,更新和删除数据。Knex是一个强大的工具,使我们可以轻松地与MySQL数据库进行交互,并在我们的Web应用程序中使用数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程