介绍
在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实现增删改查的方法