手机版

Nodejs连接关系型数据库并实现增、删、改、查操作的方法详解

时间:2021-09-01 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了开发连接关系型数据库并实现增、删、改、查操作的方法。分享给大家供大家参考,具体如下:

一、准备

开发的教程,大多以操作数据库为示例。但是数据库有一些局限性,具体官网上有说。我打算用MySQL,因为多少还有点使用经验。先以研究为主节点-mysql,是目前最火的结节下的关系型数据库驱动。初步了用了一下,因为异步回调的这种方式,果然好多坑。

下面这个项目的包名是mysql,版本是[emailprotected] 2.5.4

先说明下面的所示代码,均已以下代码开头,后面不在说明

var连接=MySQL。创建连接({ host : ' 127。0 .0 .1 ',用户: 'root ',密码: 'root123 ',端口: '3306 ',数据库: 'my_news_test ',});代码什么意思很直白,如果想深入,可以去上面的官网查。像主机、用户之类的配置,写过关系型数据库数据库应用程序的,应该都很清楚,请自行修改相应参数。后面的代码,假定数据库"我的新闻测试"中有一个叫节点使用的表,表有3个属性

id:自增主键名称:名字,有独一无二的的限制年龄:年龄

测试MySQLMySQL版本:5.5

二、建库并插入5条记录

源数据库: my _ news _ testSET FOREIGN _ KEY _ CHECKS=0;节点_用户的表结构- -如果存在“节点_用户”,则删除表;CREATE TABLE ` node _ user `(` id ' int(11)NOT NULL AUTO _ INCREMENT,` name ' varchar(30)DEFAULT NULL,` age ' int(8)DEFAULT NULL,PRIMARY KEY(` id `))ENGINE=InnoDB AUTO _ INCREMENT=6 DEFAULT CHARSET=ut F8;节点_用户的记录-INSERT INTO ' node _ user ' VALUES(' 1 ',' admin ',' 32 ');插入"节点_用户"值(“2”、“dans88”、“45”);插入"节点用户"值(' 3 ',"张三', '35');插入"节点_用户"值(“4”、“ABCDEF”、“88”);插入"节点用户"值(' 5 ',"李小二', '65');三、先测试一下环境

1、 首先需要安装开发的关系型数据库包

d: \用户\myappejs4npm安装mysql[emailprotected]node_modules\mysql[emailprotected][emailprotected][email保护]([电子邮件保护],[电子邮件保护],[电子邮件保护]0.1,[电子邮件保护]2,编写开发与关系型数据库交互的代码

//mysql.js//首先需要安装开发的关系型数据库包//npm安装mysql/编写开发与关系型数据库交互的代码var MySQL=require(' MySQL ');var _ TEST _ DATABASE=' my _ news _ TEST ';var _ TEST _ TABLE=' node _ user//创建连接var客户端=MySQL。创建连接({ user : ' root ',password: 'root123 ',});客户。connect();客户。查询(' use ' TEST _ DatabaSe);客户。查询('从测试表中选择* '),函数selectCb(err,results,field){ if(err){ throw err;} if(results){ for(var I=0;一。结果。长度;i ) { console.log('%d\t%s\t%s ',结果[i].id,结果[i].名称,结果[i].年龄);} }客户端。end();});3、运行结果

D: \用户\ my appejs 4节点MySQL测试。js1管理322 dans 88 453张三354 ABCDEF 885李小二65

四、Node.js结合关系型数据库的增、删、改、查操作

1、增

var MySQL=require(' MySQL ');var连接=MySQL。创建连接({ host : ' 127。0 .0 .1 ',用户: 'root ',密码: 'root123 ',端口: '3306 ',数据库: 'my_news_test ',});连接。connect();var UserAddSqL=' INSERT INTO node _ user(id,名称,年龄)VALUES(0,)';var userAddSql_Params=['Wilson ',55];//增addconnection.query(userAddSql,userAddSql_Params,函数(错误,结果){ if(错误){ console。日志([INSERT errOR]-',ERR。消息);返回;}控制台。日志('-INSERT-');//console.log('INSERT ID: ',结果。insert id);console.log('INSERT ID: ',结果);控制台。日志(' # # # # # # # # # # # # # # # # # # # # # # # # ');});连接。end();运行如下

d : \ User \ my appejs 4节点MySQL testad。js-INSERT-INSERT id : {字段计数: 0,影响: 1,insertId: 6,服务器状态: 2,警告计数: 0 0,消息: ' ',协议41: true,更改道: } # # # # # # # # # # # # # # # # # # # # # #(9501 . 163.com)

2、改

var MySQL=require(' MySQL ');var连接=MySQL。创建连接({ host : ' 127。0 .0 .1 ',用户: 'root ',密码: 'root123 ',端口: '3306 ',数据库: 'my_news_test ',});连接。connect();var userModSql=' UPDATE node _ user SET name=?年龄=?'WHERE id=?var userModSql _ Params=[' Hello World ',99,7];//改upconnection.query(userModSql,userModSql_Params,函数(err,result){ if(err){ console。日志('[UPDATE ERROR]-',错误。消息);返回;}控制台。日志('-UPdate-');控制台。日志(' UPDATE effecterows ',结果。effecterows);控制台。日志(' * * * * * * * * * * * * * * * * * *);});连接。end();运行结果如下

d : \ User \ my appejs 4节点MySQL test _ up。js-UPDATE-UPDATE effect ws 1 * * * * * * * * * * * * * * * * * * * * * * 3、查操作

var MySQL=require(' MySQL ');var连接=MySQL。创建连接({ host : ' 127。0 .0 .1 ',用户: 'root ',密码: 'root123 ',端口: '3306 ',数据库: 'my_news_test ',});连接。connect();var用户getsql=' SELECT * FROM node _ user//查查询连接。查询(UserGetSqL,函数(错误,结果){ if(错误){ console。日志('[SELECT errOR]-',ERR。消息);返回;}控制台。日志('-SELECT-');console.log(结果);控制台。日志(' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ');});连接。end();运行的结果如下

d : \ User \ my appejs 4节点MySQL test _ query。js-SELECT-[{ id : 1,name: 'admin ',age: 32 },{ id: 2,name: 'dans88 ',age: 45 },{ id: 3,name: '张三,年龄: 35 },{ id : 4,名称: 'ABCDEF ',年龄: 88 },{ id : 5,名称: '李小二,年龄: 65 },{ id: 6,姓名: '威尔逊',年龄: 55 }]$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $(9502 . 163.com)

4、删除操作

var MySQL=require(' MySQL ');var连接=MySQL。创建连接({ host : ' 127。0 .0 .1 ',用户: 'root ',密码: 'root123 ',端口: '3306 ',数据库: 'my_news_test ',});连接。connect();var userDelSql=' DELETE FROM node _ user WHERE id=7 ';//connection.query(userdelsql,function(err,result){如果(呃){控制台。日志('[删除错误]-',错误。消息);返回;}控制台。日志('-DELETE-');控制台。日志(' DELETE effecterows ',结果。effecterows);控制台。日志(" ");});连接。end();运行的结果如下D: \用户\ my appejs 4节点MySQL test _ del。js-DELETE-DELETE影响ws 1

增、删、改、查操作应会部完成了!

希望本文所述对大家开发程序设计有所帮助。

版权声明:Nodejs连接关系型数据库并实现增、删、改、查操作的方法详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。