国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Nodejs連接mysql并實(shí)現(xiàn)增、刪、改、查操作的方法詳解

2019-11-19 14:35:52
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Nodejs連接mysql并實(shí)現(xiàn)增、刪、改、查操作的方法。分享給大家供大家參考,具體如下:

一、準(zhǔn)備

nodejs的教程,大多以操作mongodb為示例。但是mongodb有一些局限性,具體官網(wǎng)上有說。我打算用MySQL,因?yàn)槎嗌龠€有點(diǎn)使用經(jīng)驗(yàn)。先以研究為主。node-mysql,是目前最火的node下的mysql驅(qū)動(dòng)。初步了用了一下,因?yàn)楫惒交卣{(diào)的這種方式,果然好多坑。

下面這個(gè)項(xiàng)目的package name是 mysql,版本是mysql@ 2.5.4

先說明下面的所示代碼,均已以下代碼開頭,后面不在說明

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

代碼什么意思很直白,如果想深入,可以去上面的官網(wǎng)查。像host,user之類的配置,寫過MySQL數(shù)據(jù)庫應(yīng)用程序的,應(yīng)該都很清楚,請(qǐng)自行修改相應(yīng)參數(shù)。后面的代碼,假定數(shù)據(jù)庫”my_news_test”中有一個(gè)叫node_use的表,表有3個(gè)屬性

id: 自增主鍵
name:名字,有unique的限制
age:年齡

測(cè)試MySQL  MySQL版本:5.5

二、建庫并插入5條記錄

Source Database    : my_news_testSET 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');

三、先測(cè)試一下環(huán)境

1、  首先需要安裝nodejs 的mysql包

D:/User/myappejs4>npm install mysqlmysql@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';//創(chuàng)建連接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、運(yùn)行結(jié)果

D:/User/myappejs4>node mysqltest.js1    admin  322    dans88 453    張三  354    ABCDEF  885    李小二 65

四、Node.js結(jié)合MySQL的增、刪、改、查操作

1、增

var mysql = require('mysql');var connection = mysql.createConnection({ host   : '127.0.0.1', user   : 'root', password : 'root123', port: '3306', database: 'my_news_test',});connection.connect();var userAddSql = 'INSERT INTO node_user(id,name,age) VALUES(0,?,?)';var userAddSql_Params = ['Wilson', 55];//增 addconnection.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();

運(yùn)行如下

D:/User/myappejs4>node mysqltestadd.js-------INSERT----------INSERT ID: { fieldCount: 0, affectedRows: 1, insertId: 6, serverStatus: 2, warningCount: 0, message: '', protocol41: true, changedRows: 0 }#######################

2、改

var mysql = require('mysql');var connection = mysql.createConnection({ host   : '127.0.0.1', user   : 'root', password : 'root123', port: '3306', database: 'my_news_test',});connection.connect();var userModSql = 'UPDATE node_user SET name = ?,age = ? WHERE id = ?';var userModSql_Params = ['Hello World',99,7];//改 upconnection.query(userModSql,userModSql_Params,function (err, result) {  if(err){     console.log('[UPDATE ERROR] - ',err.message);     return;  } console.log('----------UPDATE-------------'); console.log('UPDATE affectedRows',result.affectedRows); console.log('******************************');});connection.end();

運(yùn)行結(jié)果如下

D:/User/myappejs4>node mysqltest_up.js----------UPDATE-------------UPDATE affectedRows 1******************************

3、查操作

var mysql = require('mysql');var connection = mysql.createConnection({ host   : '127.0.0.1', user   : 'root', password : 'root123', port: '3306', database: 'my_news_test',});connection.connect();var userGetSql = 'SELECT * FROM node_user';//查 queryconnection.query(userGetSql,function (err, result) {    if(err){     console.log('[SELECT ERROR] - ',err.message);     return;    }    console.log('---------------SELECT----------------');    console.log(result);    console.log('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$');});connection.end();

運(yùn)行的結(jié)果如下

D:/User/myappejs4>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、刪除操作

var mysql = require('mysql');var connection = mysql.createConnection({ host   : '127.0.0.1', user   : 'root', password : 'root123', port: '3306', database: 'my_news_test',});connection.connect();var userDelSql = 'DELETE FROM node_user WHERE id = 7';//ɾconnection.query(userDelSql,function (err, result) {    if(err){     console.log('[DELETE ERROR] - ',err.message);     return;    }    console.log('-------------DELETE--------------');    console.log('DELETE affectedRows',result.affectedRows);    console.log('&&&&&&&&&&&&&&&&&');});connection.end();運(yùn)行的結(jié)果如下D:/User/myappejs4>node mysqltest_del.js-------------DELETE--------------DELETE affectedRows 1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

增、刪、改、查操作應(yīng)會(huì)部完成了!

希望本文所述對(duì)大家nodejs程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凌海市| 瑞昌市| 北海市| 井研县| 措勤县| 永嘉县| 三原县| 渭南市| 山阳县| 宕昌县| 余干县| 梓潼县| 文安县| 文水县| 远安县| 襄樊市| 广东省| 咸丰县| 清河县| 旬阳县| 赫章县| 化德县| 桓台县| 河间市| 桐柏县| 金沙县| 东莞市| 资源县| 禄丰县| 沙湾县| 灵台县| 龙陵县| 萍乡市| 嘉善县| 肃宁县| 河南省| 彰化市| 泰州市| 邵阳市| 夹江县| 项城市|