最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

使用Nodejs連接mysql實(shí)現(xiàn)基本操作

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:37:24
文檔

使用Nodejs連接mysql實(shí)現(xiàn)基本操作

使用Nodejs連接mysql實(shí)現(xiàn)基本操作:這篇文章主要介紹了Nodejs連接mysql并實(shí)現(xiàn)增、刪、改、查操作的方法,結(jié)合實(shí)例形式詳細(xì)分析了nodejs針對(duì)mysql數(shù)據(jù)庫(kù)的的連接、mysql數(shù)據(jù)庫(kù)的創(chuàng)建及nodejs針對(duì)mysql增刪改查等相關(guān)操作具體實(shí)現(xiàn)技巧,需要的朋友可以參考下本文實(shí)例講述了Nodejs連接mysq
推薦度:
導(dǎo)讀使用Nodejs連接mysql實(shí)現(xiàn)基本操作:這篇文章主要介紹了Nodejs連接mysql并實(shí)現(xiàn)增、刪、改、查操作的方法,結(jié)合實(shí)例形式詳細(xì)分析了nodejs針對(duì)mysql數(shù)據(jù)庫(kù)的的連接、mysql數(shù)據(jù)庫(kù)的創(chuàng)建及nodejs針對(duì)mysql增刪改查等相關(guān)操作具體實(shí)現(xiàn)技巧,需要的朋友可以參考下本文實(shí)例講述了Nodejs連接mysq
這篇文章主要介紹了Nodejs連接mysql并實(shí)現(xiàn)增、刪、改、查操作的方法,結(jié)合實(shí)例形式詳細(xì)分析了nodejs針對(duì)mysql數(shù)據(jù)庫(kù)的的連接、mysql數(shù)據(jù)庫(kù)的創(chuàng)建及nodejs針對(duì)mysql增刪改查等相關(guān)操作具體實(shí)現(xiàn)技巧,需要的朋友可以參考下

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

一、準(zhǔn)備

nodejs的教程,大多以操作mongodb為示例。但是mongodb有一些局限性,具體官網(wǎng)上有說(shuō)。我打算用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

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

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

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

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

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

二、建庫(kù)并插入5條記錄

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');

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

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

D:\User\myappejs4>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';
//創(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.js
1 admin 32
2 dans88 45
3 張三 35
4 ABCDEF 88
5 李小二 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];
//增 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();

運(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];
//改 up
connection.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';
//查 query
connection.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
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

上面是我整理給大家的,希望今后會(huì)對(duì)大家有幫助。

相關(guān)文章:

在vue中靜態(tài)資源如何打包

Koa2中有關(guān)async&await的用法有哪些?

在zTree樹插件中如何實(shí)現(xiàn)全國(guó)五級(jí)地區(qū)點(diǎn)擊后加載

如何實(shí)現(xiàn)node+express個(gè)性化聊天室?

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用Nodejs連接mysql實(shí)現(xiàn)基本操作

使用Nodejs連接mysql實(shí)現(xiàn)基本操作:這篇文章主要介紹了Nodejs連接mysql并實(shí)現(xiàn)增、刪、改、查操作的方法,結(jié)合實(shí)例形式詳細(xì)分析了nodejs針對(duì)mysql數(shù)據(jù)庫(kù)的的連接、mysql數(shù)據(jù)庫(kù)的創(chuàng)建及nodejs針對(duì)mysql增刪改查等相關(guān)操作具體實(shí)現(xiàn)技巧,需要的朋友可以參考下本文實(shí)例講述了Nodejs連接mysq
推薦度:
標(biāo)簽: 操作 基本 mysql
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top