📜  sequelize sqlite 示例 - Javascript (1)

📅  最后修改于: 2023-12-03 14:47:24.383000             🧑  作者: Mango

Sequelize SQLite 示例 - Javascript

本文将介绍如何使用 Sequelize 和 SQLite 数据库进行 Node.js 应用程序开发。Sequelize 是一个使用 Node.js 进行 SQL 映射的 ORM,而 SQLite 是一种轻型的嵌入式数据库管理系统,使用简单、高效。我们将用 Node.js 来访问 SQLite 数据库,并通过 Sequelize 来实现 SQL CRUD 操作。

安装和配置
安装 Node.js

首先,需要将 Node.js 安装到本地机器上。可以从 Node.js 的官网下载相应的安装包,并按照指导进行安装。安装完成后,可以在命令行中输入 node -v 来验证是否安装成功。

安装 Sequelize

在安装 Sequelize 之前,需要先安装 npm,它是 Node.js 的包管理器。可以在命令行中输入 npm -v 来验证是否已安装。如果没有安装,请按照 npm 的官网指导进行安装。

安装 Sequelize 可以使用以下命令:

npm install --save sequelize
安装 SQLite

在安装 SQLite 之前,可以先安装 SQLite 的图形化管理工具,如 SQLiteStudio。可以从 SQLiteStudio 的官网下载相应的安装包,并按照指导进行安装。安装完成后,可以打开 SQLiteStudio 并创建一个 SQLite 数据库文件。

安装 SQLite 可以使用以下命令:

npm install --save sqlite3
配置 Sequelize

在代码中使用 Sequelize 需要先进行配置。可以在代码中创建一个配置文件 config.js,来存储 Sequelize 的配置信息:

const Sequelize = require('sequelize');

const sequelize = new Sequelize('database', 'username', 'password', {
  dialect: 'sqlite',
  storage: './database.sqlite'
});

const db = {};

db.Sequelize = Sequelize;
db.sequelize = sequelize;

module.exports = db;

需要注意的是,storage 参数指定了 SQLite 数据库文件的路径。

创建模型

在使用 Sequelize 进行 CRUD 操作之前,需要先定义一个模型。可以在代码中创建一个模型文件 model.js,来存储模型的定义:

const db = require('./config');

const User = db.sequelize.define('user', {
  name: {
    type: db.Sequelize.STRING,
    allowNull: false
  },
  age: {
    type: db.Sequelize.INTEGER
  },
  email: {
    type: db.Sequelize.STRING
  }
});

module.exports = {
  User
};

上述代码中,我们定义了一个名为 User 的模型,它包含了 nameageemail 三个属性。name 的类型为 STRINGage 的类型为 INTEGERemail 的类型为 STRING。其中,name 属性不允许为空。

实现 CRUD 操作
插入数据

可以使用以下代码在数据库中插入一条数据:

const db = require('./config');
const { User } = require('./model');

db.sequelize.sync()
  .then(() => {
    return User.create({
      name: 'John Doe',
      age: 25,
      email: 'john.doe@example.com'
    });
  })
  .then(user => {
    console.log(user.toJSON());
  })
  .catch(error => {
    console.error(error);
  });

在以上代码中,我们调用了 User.create 方法来插入一条数据,该方法将返回插入后的数据对象。插入完成后,我们可以通过调用 toJSON 方法来获取对象的 JSON 形式,并将其打印到控制台。

查询数据

可以使用以下代码查询数据库中的数据:

const db = require('./config');
const { User } = require('./model');

db.sequelize.sync()
  .then(() => {
    return User.findAll({
      attributes: ['name', 'age']
    });
  })
  .then(users => {
    console.log(JSON.stringify(users));
  })
  .catch(error => {
    console.error(error);
  });

在以上代码中,我们调用了 User.findAll 方法来查询数据库中的数据。attributes 参数指定了查询结果中要包含的属性,这里我们只包含了 nameage 两个属性。

更新数据

可以使用以下代码更新数据库中的数据:

const db = require('./config');
const { User } = require('./model');

db.sequelize.sync()
  .then(() => {
    return User.update(
      { age: 30 },
      { where: { name: 'John Doe' } }
    );
  })
  .then(() => {
    console.log('Update successful');
  })
  .catch(error => {
    console.error(error);
  });

在以上代码中,我们调用了 User.update 方法来更新数据库中的数据。第一个参数指定了需要更新的属性,第二个参数指定了更新条件。

删除数据

可以使用以下代码删除数据库中的数据:

const db = require('./config');
const { User } = require('./model');

db.sequelize.sync()
  .then(() => {
    return User.destroy({ where: { name: 'John Doe' } });
  })
  .then(() => {
    console.log('Delete successful');
  })
  .catch(error => {
    console.error(error);
  });

在以上代码中,我们调用了 User.destroy 方法来删除数据库中的数据。参数指定了删除条件。

总结

通过本文的介绍,我们了解了如何使用 Sequelize 和 SQLite 数据库进行 Node.js 应用程序开发。我们学习了如何创建模型和实现 SQL CRUD 操作,希望对大家有所帮助。