什么是sequelize?

sequelize是一个orm框架,什么是orm呢?即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。

安装依赖

知道了sequelize是什么,很想在项目中使用起来吧!那接下来开始我们的第一步吧!在项目的根目录运行 npm i mysql2 sequelize -S

创建sequelize连接配置文件

依赖也有了,下面我们创建sequelize的配置文件吧!在项目的根目录下新建src目录,并在目录中新建seq.js文件。

const Sequelize = require('sequelize')const conf = {host: 'localhost',dialect: 'mysql'
}const seq = new Sequelize('koa2_weibo_db', 'root', '111111', conf)// 测试连接
seq.authenticate().then(() => {console.log('ok')
}).catch(() => {console.log('err')
})module.exports = seq

写完后可以使用node命令运行一下,如果命令行输出了ok,那就恭喜你成功了,是不是很简单~

创建模型并同步数据表

接下来还有一点准备工作要进行,有了配置文件还不够,我们还需要创建模型和同步数据表的文件。在src目录新建model.jssync.js文件

// model.js
const Sequelize = require('sequelize')
// 数据库配置文件
const seq = require('./seq')// 创建 users 模型
const User = seq.define('user', {// id 会自动创建,并设为主键、自增userName: {type: Sequelize.STRING,allowNull: false,comment: '用户名'},password: {type: Sequelize.STRING,allowNull: false,comment: '密码'},nickName: {type: Sequelize.STRING,comment: '昵称'}// 自动创建 createdAt updatedAt
})module.exports = {User
}

同步数据表

const seq = require('./seq')require('./model')// 测试连接
seq.authenticate().then(() => {console.log('ok')
}).catch(() => {console.log('err')
})// 执行同步
// force 值为 true 时,表示每次执行这个方法都会先将表给删掉,再重新创建
seq.sync({ force: true }).then(() => {console.log('sync ok')process.exit()
})

插入数据

从现在开始,终于到了实战的时候了。现在我们的数据库中有了blogsusers两张表,但是我们还没有数据。那我们就添加 数据吧!在src目录新建create.js文件。

const { User, Blog } = require('./model')// 如果前面写的报错的,也会执行后面的
!(async function () {// 创建用户const person = await User.create({userName: 'lisi',password: '123',nickName: '李四'})console.log('person: ', person.dataValues)const blog = await Blog.create({title: '标题4',content: '内容4',userId: person.dataValues.id})console.log('blog: ', blog.dataValues)
})()

使用node运行一下这个文件

sequelize的使用相关推荐

  1. 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

    Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...

  2. Sequelize 4.43.0 发布,基于 Nodejs 的异步 ORM 框架

    Sequelize 4.43.0 发布了,Sequelize 是一款基于 Nodejs 的异步 ORM 框架,它同时支持 PostgreSQL.MySQL.SQLite 和 MSSQL 多种数据库,很 ...

  3. 【node】Sequelize常用操作、基本增删改查

    [node]Sequelize常用操作.基本增删改查 sequelize初始化 先初始化一个数据库实例 再初始化一个model实例 sequelize的数据类型 基本增删改查的写法 SELECT * ...

  4. sequelize 增加数据库字段_使用Sequelize动态创建新表

    我正在实施将数据保存到数据库的nodejs应用程序.应用程序从/ add接收post请求,它应该采用两个参数(实际数据和表名).所有表都将包含在模型文件中定义的相同字段和数据类型. 表名称表示将保存数 ...

  5. egg mysql 连表查询_Egg中使用Sequelize框架关联查询Mysql数据库

    Sequelize视频教程_Eggjs仿小米商城企业级Nodejs项目实战视频教程: https://www.itying.com/goods-941.html 一.Sequelize简介 前面的章节 ...

  6. mysql存储过程queue_mysql – 在Sequelize中调用输入/输出类型存储过程

    我在 MySQL中创建了一个存储过程,它期望一些输入并返回一些输出. 要在MySQL中调用存储过程,我正在运行 CALL createCoupon(1236,321, @message); SELEC ...

  7. sequelize的应用

    1.定义model 形式如下: module.export=(sequelize)=> { class ModelName extends Model { } ModelName.init({} ...

  8. Sequelize框架

    1.创建架构 async createSchema(schema:string, options:object):Promise 用于创建数据库架构.此架构来自于postgres中的,不是数据表,在m ...

  9. mysql 主键 uniqo_项目总结,彻底掌握NodeJS中如何使用Sequelize

    前言 sequelize是什么? sequelize是基于NodeJs的ORM框架,它适用于不同的数据库,如:Postgres.MySQL.SQLite.MariaDB,我们可以通过sequelize ...

  10. sequelize 连接2个数据库_数据库激荡 40 年,NoSQL、NewSQL谁能接棒?

    起初有文件,后来有基于结构化文件的导航数据库,然后出现了IMS和CODASYL.大概40年前,出现了首批关系数据库.在20世纪八.九十年代的大部分时间,"数据库"严格意义上指&qu ...

最新文章

  1. div固定大小文字溢出自动缩小_CSS样式更改——框模型、定位、浮动、溢出
  2. python官网怎么改中文-pycharm如何设置成中文
  3. Py中enumerate方法【转载】
  4. abap 选择屏幕事件AT SELECTION-SCREEN
  5. 卸载小鲁温度监控有影响吗_通过中央控制器和远程监控优化能源效率
  6. gbdt 回归 特征重要性 排序_gbdt、xgb、lgb、cat面经整理——from牛客
  7. SpringMVC 之@RequestBody 接收Json数组对象
  8. html5网页制作代码_推荐十个好用的HTML5小工具,前端程序员居家必备良品
  9. 51nod 1009 数字1的数量
  10. 常用的HTTP头部字段的基本含义(转)
  11. Spark参数配置说明
  12. 云服务器发送开锁信息给单车,云服务器发送开锁信息给单车
  13. bmc156 linux驱动源码,BMC156 BOSCH博世 加速+电子罗盘 全新电子罗盘传感器 只做原装...
  14. linux内核协议栈 IPv4分片重组Ⅰ之相关数据结构
  15. 深度学习基本算法介绍
  16. elastalert控制警报时间段
  17. 如何实现水平垂直居中?
  18. 异常解决:java.lang.IllegalStateException: Failed to introspect Class
  19. QPainter::drawPixmapFragments - the source rect is not contained by the pixmap‘s rectangle
  20. Mamba Blog 博客小程序版

热门文章

  1. 【简●解】巴厘岛的雕塑
  2. 【无线串口模块应用实例】防小人不防君子的智慧安防监测系统
  3. 告别 Google 网站站长,迎接 Google 搜索中心
  4. After Effects Apprentice: 19 Motion Tracking with Cinema 4D Lite After Effects学徒19:运动跟踪与Cinema 4D Li
  5. 安装smartPPT,电脑显示系统桌面就卡住……
  6. 骁龙888plus和苹果a15哪个好 骁龙888plus和苹果a15对比
  7. 从软件管理后台看其匠心所在
  8. 汉寿计算机培训初中升高中,中考再迎“新政策”?初中生或将直升高中,家长们终于等到了!...
  9. Xamainr 地图之webview初探
  10. 如何将mp4转换mp3音频文件