在Nodejs中利用sequelize实现增删改查的方法

  介绍

在Nodejs中利用sequelize实现增删改查的方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强> 1。下载资源库

npm安装sequelize——保存

npm安装mysql2——保存//npm安装mysql提示不完整

<强> 2。创建数据库配置文件db。js,配置数据库

 var Sequelize=要求(& # 39;sequelize& # 39;);
  var sequelize=要求(& # 39;。/db # 39;);//创建模型
  var用户=sequelize.define(& # 39;用户# 39;,{
  id:{类型:Sequelize。整数,自动增量:真的,primaryKey:真的,独特的:真正的},
  用户名:{
  类型:Sequelize。字符串,//指定值的类型
  领域:& # 39;user_name # 39;//指定存储在表中的键名称
  },//没有指定字段,表中键名称则与对象键名相同,为电子邮件
  电子邮件:{
  类型:Sequelize.STRING
  }
  },{//如果为真则表的名称和模型相同,即用户//为假MySQL创建的表名称会是复数用户//如果指定的表名称本就是复数形式则不变
  freezeTableName:真
  });/* User.sync({力量:假}),然后(函数(){
  console.log(“成功时);
  }).catch(函数(err) {
  console.log(“未能开始“)
  }) *///创建表//User.sync()会创建表并且返回一个承诺对象//如果力=true则会把存在的表(如果用户表已存在)先销毁再创建表//默认情况下可能=false
  用户/用户/var=M?{力:假});//添加新用户
  出口。addUser=函数(用户名、电子邮件){//向用户表中插入数据
  返回User.create ({
  用户名:用户名、
  电子邮件:电子邮件
  })(函数(结果){
  console.log(“插入操作成功“+结果);
  }).catch(函数(err) {
  console.log(“添加数据发生错误:“+犯错)
  });
  };
  
  出口。findByName=函数(用户名){
  返回用户。findOne({地点:{user_name:用户名
  }})(函数(结果){
  console.log(“成功:“;+ result.id);
  }).catch(函数(err) {
  console.log(“发生错误:“+错);
  });
  };//通过用户名查找用户
  
  出口。更新=function (id) {
  返回用户。findOne({地点:{id: id
  }})(功能(用户){
  
  返回user.update ({
  电子邮件:& # 39;jack3@qq.com& # 39;
  })(函数(结果){
  console.log(“更新成功:“+结果);
  }).catch(函数(err) {
  console.log(“更新操作出错:“+错);
  });
  
  });
  
  };
  exports.destroy=function (id) {
  返回User.destroy({地点:{id: id}}),然后(函数(结果){
  console.log(“删除success");
  }).catch(函数(err) {
  console.log(“删除数据出错:“+错);
  })
  }

<>强4。测试文件

 var用户=需要(& # 39;。/用户# 39;);//查询操作//user.findByName (“jack");//添加用户//user.addUser (& # 39; jack2& # 39;, & # 39; jack@163.com& # 39;);//更新//user.update (1001);//删除//user.destroy (1001), 

<强> nodejs Sequelize简单查询语句和mysql常用的几个查询命令

我是前端,但总有需求让做后端的活,所以顺带着熟悉了下简单的查询语句

贴出来,如果有需要可以参考下,备注很详细,就不多解释了

废话不多说贴代码:

 #去除unionid重复的搜索结果
  # query_resultsign表名
  select *, count (unionid)从query_resultsign issign=& # 39;假# 39;由unionid组;
  
  #去除unionid重复的搜索结果
  # query_resultsign表名
  select *, count (unionid)从query_resultsign issign=& # 39;真正的# 39;由unionid组;
  
  #求未签约用户的平均访问频率(即为求搜索结果列的平均值issign=& # 39;假# 39;未签约)
  # cuid是unid的别名
  # query_resultsign表名
  选择AVG (bs.cuid)从(unUserAvg select *,计数(unionid) cuid query_resultsign issign=& # 39;假# 39;group by unionid bs);
  
  #求平均值
  #(即为求搜索结果issign=& # 39;真正的# 39;数的平均值)
  # bs为子查询的别名,不带别名会报的错
  # query_resultsign表名
  选择AVG (bs.cuid) userAvg (select *,计数(unionid) cuid query_resultsign issign=& # 39;真正的# 39;group by unionid bs);
  
  #增加id列int
  # query_resultsign
  ALTER TABLE query_resultsign添加id int;
  
  #使表query_resultsign(上一步)增加的列变为自增列
  alter table query_resultsign修改id int id NOT NULL AUTO_INCREMENT主键;
  
  #获取两列数据中有相同数据的列
  # query_resultsign表名
  选择p1。*从query_resultsign p1, query_resultsign p2 p1.id

在Nodejs中利用sequelize实现增删改查的方法