全棧項目|小書架|服務器開發-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


諮詢請加微信:輕撩便可。

在這裏插入圖片描述
相關文章
相關標籤/搜索