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

本文转自:https://www.cnblogs.com/kongxianghai/p/5582661.html

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

目前在Node.js中,Sequelize的关注度较高,用的也较多。

因为是基于promise规范,在调用后的处理上不再是callback方式,而是统一的链式调用方式,调用直观,易读。

那么就先用起来吧,虽然还有很多坑,但互联网上开源的东西有哪个是让人特别省心的呢,是个好东西就用吧,碰到坑也只能用人肉去填了,(^-^)。

安装

建个工程文件夹,并进入,在命令行中运行安装sequelize命令。

npm install sequelize

安装mysql

npm install mysql

创建sequelize对象

在代码顶部先要把sequelize库require进来。

第一个参数‘test1‘ 是数据库名。

第二个参数‘root‘是登录用户名。

第三个参数‘123456‘是登录用户对应的密码。

第四个参数:

host:数据库主机地址

dialect:‘mysql‘|‘sqlite‘|‘postgres‘|‘mssql‘

var Sequelize = require(‘sequelize‘);

var sequelize = new Sequelize(‘test1‘, ‘root‘, ‘123456‘, {
    host: ‘172.16.16.138‘,
    dialect: ‘mysql‘
});

表结构

在mysql的test1数据库中建users表。

创建表对应的对象模型

一条记录对应一个User对象。

var User = sequelize.define(‘user‘, {
    name: Sequelize.STRING,
    password: Sequelize.STRING,
    mail: Sequelize.STRING
});

插入记录

调用模型对象的create方法插入一条user记录。

通过promise的方式对插入完成和插入失败进行处理,链式调用非常方便,再也看不到callback了。

User.create({
    name: ‘XiaoMing‘,
    password: ‘1234567890‘,
    mail: ‘xiaoming@qq.com‘
}).then(function(result){
        console.log(‘inserted XiaoMing ok‘);
}).catch(function(err){
        console.log(‘inserted XiaoMing error‘);
        console.log(err.message);
});

查询记录

调用模型对象的findAll方法进行查询操作,在参数中可以制定where条件。

where条件甚至可以支持数据库自身特有的函数。

where具体写法,参考:http://sequelize.readthedocs.io/en/latest/docs/querying/

    User.findAll({
        where:{
            name:{
                $like:‘Zhang%‘
            }
        }
    }).then(function(result){
            console.log(‘query all users‘);
            for (var i = 0, usr; usr = result[i++];) {
                console.log(‘nae=‘ + usr.name + ‘, password=‘ + usr.password + ‘, mail=‘ + usr.mail);
            }
    });

修改记录

调用模型对象的update方法进行更新操作,在第一个参数中指定更新的字段和值,在第二个参数中指定条件。

User.update({
    password:‘12‘
},{
    where:{
        name:{
            $like:‘Xiao%‘
        }
    }
}).then(function(result){
        console.log(‘updated user‘);
        console.log(result);
});

删除记录

调用模型对象的destroy方法进行删除操作,在参数中指定删除条件。

User.destroy({
    where:{
        name:{
            $like:‘Zhang%‘
        }
    }
}).then(function(result){
        console.log(‘destroy user‘);
        console.log(result);
});

官方文档:

原文地址:https://www.cnblogs.com/freeliver54/p/10565975.html

时间: 2024-10-23 15:37:48

[转]在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查的相关文章

node.js操作mysql数据库之增删改查

安装mysql模块 npm install mysql 数据库准备 mysql server所在的机器IP地址是192.168.0.108,登录账户就用[email protected] 在mysql中创建test数据库 在test数据库中创建一张users表 操作 连接数据库 var mysql=require('mysql'); var connection = mysql.createConnection({ host : '192.168.0.108', user : 'root', p

【Mysql】Java中对Mysql数据库的增删改查、Java的System类

这部分也是所谓JDBC.网站数据源的内容,把名字弄得很高深似得,实际上只是Java中对Mysql数据库的增删改查的内容.非常简单,之前写了这么多Mysql的内容,没好好总结一下,实在是不应该.今天就实现一个Java中对Mysql数据库的增删改查,随便带点Java取出当前系统的系统名与系统时间的知识,完成一个还算有点意思的小例子. 一.基本目标 首先,在Mysql数据库中有一张名为testtable的空表,id为自增列,username,class都是文本列,但是class里面都存放数字,也就是整

2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理

 Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan/article/details/39565783 如果行想进数据库开发,需要安装libqt5sql5-mysql.命令是: sudo apt-get install libqt5sql5-mysql 4 创建一个项目 要调用数据库,需要加上QT += gui widgets sql  也就是说要加

java程序设计课期中考试——数据库的增删改查和简单的js界面

首先是设计思路,对于数据库的增删改查,我们借助Ecilipse来进行前端和后端的编写.Ecilipse是可以进行java web项目的操作的. 前端,我们选择用使用jsp,所谓的jsp就是可以嵌入其他语言的html,各种标识语言和html语法一致,但为了在本界面检测各种信息的正确性,需要嵌入java的语句进行判断. 对于数据库的增删改查,我们使用sql语句,并且导入了相应的mysql的jar包,方便我们用java对数据库进行操作. 整体来说,我们编写使用了MVC模式(model-view-con

android中SQLite数据库的增删改查

1.数据库帮助类PersonSQLiteOpenHelper package com.wzw.sqllitedemo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper

TP框架中 数据库的增删改查

框架会用到数据库的内容,这一篇就是关于数据库的增删改查. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作, 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 我这里是这样的文件路径 (2)打开这个config.php文件,然后找到父类配置文件convention.php文件,将关于"数据库"的部分复制粘贴到config.php配置文件中(父类的conv

[实例]php中PDO方式实现数据库的增删改查

整理的比较容易理解的PDO操作实例,注意,需要开启php的pdo支持,php5.1以上版本支持实现数据库连接单例化,有三要素 静态变量.静态实例化方法.私有构造函数 DPDO.php //PDO操作类 //author http://www.lai18.com class DPDO{ private $DSN; private $DBUser; private $DBPwd; private $longLink; private $pdo; //私有构造函数 防止被直接实例化 private f

Django中ORM对数据库的增删改查操作

什么是ORM?  ORM(对象关系映射)指用面向对象的方法处理数据库中的创建表以及数据的增删改查等操作. 简而言之,就是将数据库的一张表当作一个类,数据库中的每一条记录当作一个对象.在Django中定义一个类,就是在数据库中创建一张表格.在Django中实例化一个类的对象,就是在数据库中增加了一条记录.在Django中删除一个对象,就是在数据库中删除了一条记录.在DJango中更改一个对象的属性,就是在数据库中修改一条记录的值.在django中遍历查询对象的属性值,就是在数据库中查询记录的值.

基于Java的XML文件模拟数据库进行增删改查操作

我们知道XML文件既可以用来进行数据的传输,也可以配合DTD约束文件用来作为配置文件,当然其本质就是一个加了标签以及众多空格保持格式的字符串,那么就可以用Java进行操作. 本例是使用MyEclipse带入DOM4j解析时要用的jar包的基础上做的:当然DOM4j相对于DOM SAX 等解析方式的方便程度是不言而喻的. 下面是本次用例XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons>