Nodejs连接mysql并实现增、删、改、查操作的方法详解

前端之家收集整理的这篇文章主要介绍了Nodejs连接mysql并实现增、删、改、查操作的方法详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了Nodejs连接MysqL并实现增、删、改、查操作的方法分享给大家供大家参考,具体如下:

一、准备

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

下面这个项目的package name是 MysqL,版本是MysqL@ 2.5.4

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

MysqL.createConnection({ host : '127.0.0.1',user : 'root',password : 'root123',port: '3306',database: 'my_news_test',});

代码什么意思很直白,如果想深入,可以去上面的官网查。像host,user之类的配置,写过MysqL数据库应用程序的,应该都很清楚,请自行修改相应参数。后面的代码,假定数据库”my_news_test”中有一个叫node_use的表,表有3个属性

测试MysqL  MysqL版本:5.5

二、建库并插入5条记录

sql;"> Source Database : my_news_test SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for node_user -- ---------------------------- DROP TABLE IF EXISTS `node_user`; 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=utf8; -- ---------------------------- -- Records of node_user -- ---------------------------- INSERT INTO `node_user` VALUES ('1','admin','32'); INSERT INTO `node_user` VALUES ('2','dans88','45'); INSERT INTO `node_user` VALUES ('3','张三','35'); INSERT INTO `node_user` VALUES ('4','ABCDEF','88'); INSERT INTO `node_user` VALUES ('5','李小二','65');

三、先测试一下环境

1、 首先需要安装nodejs 的MysqL

npm install MysqL MysqL@2.5.4 node_modules\MysqL ├── require-all@0.0.8 ├── bignumber.js@1.4.1 └── readable-stream@1.1.13 (inherits@2.0.1,string_decoder@0.10.31,isarray@0 .0.1,core-util-is@1.0.1)

2、编写nodejs与MysqL交互的代码

MysqL.js //首先需要安装nodejs 的MysqL包 //npm install MysqL //编写nodejs与MysqL交互的代码 var MysqL = require('MysqL'); var TEST_DATABASE = 'my_news_test'; var TEST_TABLE = 'node_user'; //创建连接 var client = MysqL.createConnection({ user: 'root',password: 'root123',}); client.connect(); client.query("use " + TEST_DATABASE); client.query( 'SELECT * FROM '+TEST_TABLE,function selectCb(err,results,fields) { if (err) { throw err; } if(results) { for(var i = 0; i < results.length; i++) { console.log("%d\t%s\t%s",results[i].id,results[i].name,results[i].age); } } client.end(); } );

3、运行结果

node MysqLtest.js 1 admin 32 2 dans88 45 3 张三 35 4 ABCDEF 88 5 李小二 65

四、Node.js结合MysqL的增、删、改、查操作

1、增

MysqL = require('MysqL'); var connection = MysqL.createConnection({ host : '127.0.0.1',}); connection.connect(); var userAddsql = 'INSERT INTO node_user(id,name,age) VALUES(0,?,?)'; var userAddsql_Params = ['Wilson',55]; //增 add connection.query(userAddsql,userAddsql_Params,function (err,result) { if(err){ console.log('[INSERT ERROR] - ',err.message); return; } console.log('-------INSERT----------'); //console.log('INSERT ID:',result.insertId); console.log('INSERT ID:',result); console.log('#######################'); }); connection.end();

运行如下

node MysqLtestadd.js -------INSERT---------- INSERT ID: { fieldCount: 0,affectedRows: 1,insertId: 6,serverStatus: 2,warningCount: 0,message: '',protocol41: true,changedRows: 0 } #######################

2、改

MysqL = require('MysqL'); var connection = MysqL.createConnection({ host : '127.0.0.1',}); connection.connect(); var userModsql = 'UPDATE node_user SET name = ?,age = ? WHERE id = ?'; var userModsql_Params = ['Hello World',99,7]; //改 up connection.query(userModsql,userModsql_Params,result) { if(err){ console.log('[UPDATE ERROR] - ',err.message); return; } console.log('----------UPDATE-------------'); console.log('UPDATE affectedRows',result.affectedRows); console.log('******************************'); }); connection.end();

运行结果如下

node MysqLtest_up.js ----------UPDATE------------- UPDATE affectedRows 1 ******************************

3、查操作

MysqL = require('MysqL'); var connection = MysqL.createConnection({ host : '127.0.0.1',}); connection.connect(); var userGetsql = 'SELECT * FROM node_user'; //查 query connection.query(userGetsql,result) { if(err){ console.log('[SELECT ERROR] - ',err.message); return; } console.log('---------------SELECT----------------'); console.log(result); console.log('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'); }); connection.end();

运行的结果如下

node MysqLtest_query.js ---------------SELECT---------------- [ { id: 1,name: 'admin',age: 32 },{ id: 2,name: 'dans88',age: 45 },{ id: 3,name: '张三',age: 35 },{ id: 4,name: 'ABCDEF',age: 88 },{ id: 5,name: '李小二',age: 65 },{ id: 6,name: 'Wilson',age: 55 } ] $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

4、删除操作

node MysqLtest_del.js -------------DELETE-------------- DELETE affectedRows 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

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

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

猜你在找的Node.js相关文章