在 NodeJS 中使用 Sequelize 创建 MySQL 表

在 NodeJS 中使用 Sequelize 创建 MySQL 表

阅读更多:MySQL 教程

Sequelize 简介

Sequelize 是一个基于 Promise 的、可对不同服务器进行 ORM 的 Node.js 库,例如 Postgres、MySQLMariaDBSQLite 和 Microsoft SQL Server。

以下是 NodeJS Sequelize 的一些主要特点:

  • 事务支持

  • 关系

  • Eager 和 Lazy Loading

  • 读取副本以及更多…

使用 Sequelize 连接 MySQL

  • 我们需要使用 Sequelize 在 MySQLNode.js 之间建立连接。

  • 在成功创建 Sequelize 连接之后,我们需要以下三个配置文件。请仅在它们各自的文件夹中仔细创建以下文件。

    • SequelizeDemo > application.js

这将是我们的根文件,将保存实际逻辑。

* SequelizeDemo>utils>database.js 

这将保存到 MySQL 的所有连接详细信息。

* SequelizeDemo>models>user.js 

这将包含所需的模型信息。

示例

配置 Database.js

const Sequelize = require('sequelize')
const sequelize = new Sequelize(
   'YOUR_DB_NAME', // TutorialsPoint
   'YOUR_DB_USER_NAME', // root
   'YOUR_DB_PASSWORD', //root{
      dialect: 'mysql',
      host: 'localhost'
   }
);
module.exports = sequelize

请将所有输入都设置为连接到您的数据库。

配置 User.js

使用此文件来定义模型和表之间的映射关系。

const Sequelize = require('sequelize')
const sequelize = require('../utils/database')
const User = sequelize.define('user', {
   // Column #1 的名称及其属性:id
   user_id:{

      // 整数数据类型
      type:Sequelize.INTEGER,

      // 自动增加值
      autoIncrement:true,

      // user_id 不能为空。
      allowNull:false,

      // 设置 user_id 为主键
      primaryKey:true
   },

   // Column #2 的名称:name
   name: { type: Sequelize.STRING, allowNull:false },

   // Column #3 的名称:email
   email: { type: Sequelize.STRING, allowNull:false },

   // Column:Timestamps
   createdAt: Sequelize.DATE,
   updatedAt: Sequelize.DATE,
})
module.exports = User

配置 app.js

要创建模型,我们可以使用以下两种方法之一:

  • sync() 方法 − 只创建已存在的模型。如果模型存在,则不会覆盖该模型。

  • sync({force: true}) 方法 − 如果模型不存在,将创建一个新模型;但是,如果模型已存在,则将覆盖现有模型。

// 导入数据库模型
const sequelize = require('./database')

// 导入用户模型
const User = require('./user')

// 创建在 user 中定义的所有表
sequelize.sync()

// 您可以更改 user.js 文件
// 然后运行此代码以检查它是否覆盖了现有代码。
sequelize.sync({force:true)

输出

运行上述程序后,您将获得以下输出 –

C:\Users\SequelizeDemo>> node app.js
执行(默认):CREATE TABLE IF NOT EXISTS 'users'('user_id' INTEGER NOT NULL 自动增加,'name' VARCHAR(255)NOT NULL,'email' VARCHAR(255)NOT NULL,'createdAt' DATETIME,'updatedAt' DATETIME,PRIMARY KEY('user_id'))ENGINE=InnoDB;
执行(默认):从 'users' 中显示索引

现在,您可以检查您的数据库。上述表格将已创建。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

MySQL 教程