全栈项目|小书架|服务器开发-NodeJS 中使用 Sequelize 操做 MySQL数据库

安装

官网:sequelize.org/v5/manual/g…html

安装sequelize及数据库链接驱动mysql

npm install --save sequelize
$ npm install --save mysql2
复制代码

使用

建立链接:sql

const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql'
});
复制代码

建立Model表:数据库

const Model = Sequelize.Model;
class User extends Model {}
User.init({
  // attributes
  firstName: {
    type: Sequelize.STRING,
    allowNull: false
  },
  lastName: {
    type: Sequelize.STRING
    // allowNull defaults to true
  }
}, {
  sequelize,
  modelName: 'user'
  // options
});
复制代码

生产数据:npm

// Note: using `force: true` will drop the table if it already exists
User.sync({ force: true }).then(() => {
  // Now the `users` table in the database corresponds to the model definition
  return User.create({
    firstName: 'John',
    lastName: 'Hancock'
  });
});
复制代码

增长数据

// Create a new user
User.create({ firstName: "Jane", lastName: "Doe" }).then(jane => {
  console.log("Jane's auto-generated ID:", jane.id);
});

复制代码

删除数据

// Delete everyone named "Jane"
User.destroy({
  where: {
    firstName: "Jane"
  }
}).then(() => {
  console.log("Done");
});
复制代码

改变数据

// Change everyone without a last name to "Doe"
User.update({ lastName: "Doe" }, {
  where: {
    lastName: null
  }
}).then(() => {
  console.log("Done");
});
复制代码

查询数据

// Find all users
User.findAll().then(users => {
  console.log("All users:", JSON.stringify(users, null, 4));
});
复制代码

数据类型

sequelize.org/v5/manual/d…segmentfault

Model 使用

sequelize.org/v5/manual/m…bash

Model 查询

sequelize.org/v5/manual/q…微信

数据迁移

sequelize.org/v5/manual/m…ui

对于数据迁移这块,笔者目前实际使用仍是不熟练,好比 model添加了新的字段如何处理、开发环境和生产环境新添加字段或者删除字段怎么处理 ,但愿有熟悉的朋友可以指导一二,不胜感激。spa

参考1:Sequelize 和 MySQL 对照

参考2:Getting started-Sequelize


咨询请加微信:轻撩便可。

在这里插入图片描述
相关文章
相关标签/搜索