Sequelize
- 连接数据库
// 连接数据库
const connect = new DB('xjg', 'root', 'root', {
host: 'localhost',
port: '3306',
dialect: 'mysql',
timezone: '+08:00',
operatorsAliases: false
})
- 测试是否连接成功

- 定义模型(表)
参数:1.表名 2.字段配置项 3.表配置项

timeStamps: true // 会在数据库中自动添加数据的创建时间贺修改时间
paranoid:true //开启软删除(就是数据不显示,但是还存在于数据库中)
- 创建表

force: true // 前置同步(每次先删除表,再创建表)
- 查询

- 模型定义配置项
type: DB.STRING, //常用数据类型有:STRING,TEXT,INTEGER,DATE,BOOLEAN
allowNULL: false, //是否允许为空
defaultValue:‘’, //默认值-若(type:DB.BOOLEAN,则defaultValue:ture);若(type:DB.DATE,则defaultValue:DB.NOW)
unique: true, //单行,若为多行唯一,则值全部相同即可
primaryKey: true, //主键,若不写,则默认为id,且自增
autoIncrement: true, //自增,一个表自增字段只有一个
references: {
model:Bar, //另外一个表
key: 'id', // 与之关联的字段
}
- 读取数据库中某字段的值:
this.getDataValue('id')或者直接 .id 或者get('id')
- 改变字段的值,get () 、set ()

- 使用模型(操作表)
User.findById(123).then(pro => {}) //通过id查询
User.findOne({where:{title: 'ninhao'}}).then(pro => {}) //只查询满足条件的一条
User.findOne({where:{title: 'ninhao'},attributes: ['id','name','age']}).then(pro => {}) //限定字段查询
User.findOrCreate() // 先查找,如不在,则添加
User.create({name: '小小',age: 12}).then() //添加
User.findAll({limit:10, offset:10,order:'title DESC',raw:true}).then() //查询所有数据(限制10条数据,偏移量10,按照title升序);多个就写在数组里;raw:true 会让查询速度更快
- min、max

- sum

- 更新update()

- 删除destroy()
模型关系(添加默认外键)

或

自定义外键,和对应表的字段

Sequelize的更多相关文章
- nodejs项目mysql使用sequelize支持存储emoji
nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...
- 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...
- sequelize常见操作使用方法
关于sequelize的准备工作这里不再赘述. 一.引入sequelize模块 var Sequelize = require('sequelize'); 二.连接数据库 var sequelize ...
- nodejs+sequelize操作mysql数据库
前言: 本人对mysql不是很熟悉,只会命令行的简单增删改查.有些观点可能不到位请谅解. sequelize是针对node.js和io.js开发的基于ORM的框架,它支持的数据库包括:PostgreS ...
- Sequelize 关系模型简介
Sequelize 关系模型简介 先介绍一下本文用到的术语: 源: 调用 sequelize 中关系方法的调用者 目标: 调用 sequelize 中关系方法中的参数 比如, User.hasOne( ...
- Node.js ORM 框架 sequelize 实践
最近在做团队的一个内部系统,这次使用的nodejs web框架是团队统一的hapi.js,而数据库依然是mysql,ORM 框架选用有着6000+ stars 的 sequelize.js,hapi- ...
- sequelize翻译(1)
第一次翻译(由mongoose转了mysql) v 3.0.0 1.Sequelize类 2.sequelize对象 3.sequelize.define()返回的表对象 4.表对象的方法 1.Seq ...
- Sequelize 基本操作
Sequelize 是 Node 的一个 ORM(Object-Relational Mapping) 框架,用来方便数据库操作. 配置 sequelize 以 mysql 为例 首先我们要引入npm ...
- 【前端】nodejs的ORM框架sequelize的工厂化
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/sequelize_factory.html 一.什么是sequelize nodejs的后台在操作数据库的时候,需 ...
- node.js应用脚手架:koa2、sequelize、mysql
自制了一个 nodejs 应用的脚手架. 基于 koa2 的,所以需要保证 node 环境至少为 7.6.0 吸取了以前的踩坑教训,添加了守护进程,确保应用不会因为异常导致网站直接挂掉(使用了 for ...
随机推荐
- linux 定时执行sql
说明: 放执行脚本的路径是: /home/vagrant/ssh 文件夹结构: /home |_ vagrant |__ ssh |___ move_order_old_data.sh |___ mo ...
- js怎样判断一个数是质数
1.首先了解什么是质数(即:只能被1和它本身整除的数叫质数)主要代码 /** *判断该数是否为素数 */ function isPrimeNum(num){ ; i < num/+; i++) ...
- python中模块和包的概念
1.模块 一个.py文件就是一个模块.这个文件的名字是:模块名.py.由此可见在python中,文件名和模块名的差别只是有没有后缀.有后缀是文件名,没有后缀是模块名. 每个文件(每个模块)都是一个独立 ...
- java拷贝--clone
大纲: java如何拷贝对象. 浅拷贝 深拷贝 一.java如何拷贝对象 Person p = new Person(); Person p2 = p; 上例并不是一个拷贝操作,只是把p对象的引用赋给 ...
- 通过队列实现进程间的通信(使用阻塞方式调用func函数)
#_author:来童星#date:2019/12/17#通过队列实现进程间的通信from multiprocessing import Poolimport osimport timedef fun ...
- Download Kali Linux
https://www.kali.org/downloads/
- vue.js 2.0 --- 安装node环境,webpack和脚手架(入门篇)
1.环境搭建 1.1.安装node.js 1.2 安装过程很简单,一路“下一步”就可以了.安装完成之后,打开命令行工具(win+r,然后输入cmd),输入 node -v,如下图,如果出现相应的版本号 ...
- paper 15 :整理的CV代码合集
这篇blog,原来是西弗吉利亚大学的Li xin整理的,CV代码相当的全,不知道要经过多长时间的积累才会有这么丰富的资源,在此谢谢LI Xin .我现在分享给大家,希望可以共同进步!还有,我需要说一下 ...
- 执行SQL语句---SELECT
1.通常从MySQL数据库中检索数据有4个步骤: (1)发出查询: 用mysql_query发出查询. (2)检索数据: 用mysql_store_result/mysql_use_result (3 ...
- natapp自动获取免费的动态端口域名
前段时间,因为客户有个项目要求跨局域网进行远程控制桌面,想知道能不能实现.于是查询了许多资料,了解到需要有公网服务器作为中介才能够实现,但是公司又没有公网服务器,于是只有利用花生壳.natapp服务器 ...