使用 Sequelize 在 NodeJS 中创建 MySQL 表
Sequelize 简介
Sequelize 是一个基于 Promise 的 Node.js ORM,支持多种数据库,例如 Postgres、MySQL、MariaDB、SQLite 和 Microsoft SQL Server。
以下是 NodeJS Sequelize 的一些主要功能:
事务支持
关系
急切加载和延迟加载
读取复制等等…
使用 Sequelize 连接 MySQL
我们需要使用 Sequelize 建立 MySQL 和 Node.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', {
// Name of Column #1 and its properties defined: id
user_id:{
// Integer Datatype
type:Sequelize.INTEGER,
// Increment the value automatically
autoIncrement:true,
// user_id can not be null.
allowNull:false,
// To uniquely identify user
primaryKey:true
},
// Name of Column #2: name
name: { type: Sequelize.STRING, allowNull:false },
// Name of 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}) 方法** - 如果模型不存在,则会创建一个新模型;但是,如果模型存在,则会覆盖现有模型。
// Importing the database model
const sequelize = require('./database')
// Importing the user model
const User = require('./user')
// Creating all the tables defined in user
sequelize.sync()
// You can change the user.js file
// And run this code to check if it overwrites the existing code.
sequelize.sync({force:true)输出
运行上述程序后,您将获得以下输出:
C:\Users\SequelizeDemo>> node app.js Executing (default): CREATE TABLE IF NOT EXISTS `users` (`user_id` INTEGER NOT NULL auto_increment , `name` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `createdAt` DATETIME, `updatedAt` DATETIME, PRIMARY KEY (`user_id`)) ENGINE=InnoDB; Executing (default): SHOW INDEX FROM `users`
现在,您可以检查您的数据库。上面应该已经创建了该表。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP