Node連接MySQL并封裝其增刪改查的實(shí)現(xiàn)代碼
Node連接Mysql
說到node,可能大家會(huì)想到MOngoDB作為數(shù)據(jù)庫,這里將會(huì)介紹node與mysql的連接,并分享了封裝好的實(shí)例代碼,在項(xiàng)目開發(fā)中可直接使用。
安裝Mysql模塊
npm install mysql
連接Mysql
const mysql = require('mysql');
let connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'password',
database : 'test'
});
connection.connect(function(err) {
if (err) {
console.error('連接失敗: ' + err.stack);
return;
}
console.log('連接成功 id ' + connection.threadId);
});
- host:連接的服務(wù)器
- user:數(shù)據(jù)庫用戶名
- password:設(shè)置的MySQL密碼
- database: 要連接的數(shù)據(jù)庫名
常用的SQL語句
具體的使用這里不做詳細(xì)說明,包括select、insert、update、delete等語句。
Node操作Mysql
查詢
connection.query('SELECT * FROM t_user WHERE username = "whg"', (err, results, fields) => {
if(err){
console.log(err);
}
console.log(results);
})
添加
connection.query('INSERT INTO t_user(username, pass) VALUES(?, ?)',['whg', '123'], (err, results) => {
if(err){
console.log(err);
}
console.log(results);
})
刪除
connection.query('DELETE FROM t_user WHERE id = 1', (err, results) => {
if(err){
console.log(err);
}
console.log(results);
})
更新
connection.query('UPDATE t_user SET pass = "321" WHERE username = "whg"', (err, results) => {
if(err){
console.log(err);
}
console.log(results);
})
結(jié)束連接
connection.end(function(err) {
});
connection.destroy();
這兩種都行,第二種是強(qiáng)制結(jié)束。
封裝
說了這么多,感覺操作起來還是挺簡(jiǎn)單的。在實(shí)際開發(fā)中,我們想要操作起來更方便,那就讓我們自己封裝一下來使用。直接上代碼:
封裝好的代碼
1.數(shù)據(jù)庫配置文件
//配置鏈接數(shù)據(jù)庫參數(shù)
module.exports = {
host : 'localhost',
port : 3306,//端口號(hào)
database : 'nodetest',//數(shù)據(jù)庫名
user : 'root',//數(shù)據(jù)庫用戶名
password : '123456'//數(shù)據(jù)庫密碼
};
2.封裝、暴露方法
let mysql = require('mysql');//引入mysql模塊
var databaseConfig = require('./mysql.config'); //引入數(shù)據(jù)庫配置模塊中的數(shù)據(jù)
//向外暴露方法
module.exports = {
query : function(sql,params,callback){
//每次使用的時(shí)候需要?jiǎng)?chuàng)建鏈接,數(shù)據(jù)操作完成之后要關(guān)閉連接
var connection = mysql.createConnection(databaseConfig);
connection.connect(function(err){
if(err){
console.log('數(shù)據(jù)庫鏈接失敗');
throw err;
}
//開始數(shù)據(jù)操作
//傳入三個(gè)參數(shù),第一個(gè)參數(shù)sql語句,第二個(gè)參數(shù)sql語句中需要的數(shù)據(jù),第三個(gè)參數(shù)回調(diào)函數(shù)
connection.query( sql, params, function(err,results,fields ){
if(err){
console.log('數(shù)據(jù)操作失敗');
throw err;
}
//將查詢出來的數(shù)據(jù)返回給回調(diào)函數(shù)
callback && callback(results, fields);
//results作為數(shù)據(jù)操作后的結(jié)果,fields作為數(shù)據(jù)庫連接的一些字段
//停止鏈接數(shù)據(jù)庫,必須再查詢語句后,要不然一調(diào)用這個(gè)方法,就直接停止鏈接,數(shù)據(jù)操作就會(huì)失敗
connection.end(function(err){
if(err){
console.log('關(guān)閉數(shù)據(jù)庫連接失??!');
throw err;
}
});
});
});
}
};
3.演示實(shí)例
var db=require('../model/mysql.js');
// 查詢實(shí)例
db.query('select * from t_user', [],function(result,fields){
console.log('查詢結(jié)果:');
console.log(result);
});
//添加實(shí)例
var addSql = 'INSERT INTO websites(username,password) VALUES(?,?)';
var addSqlParams =['咕嚕先森', '666'];
db.query(addSql,addSqlParams,function(result,fields){
console.log('添加成功')
})
結(jié)束
想要使用的朋友,可以直接把封裝好的兩個(gè)文件copy到項(xiàng)目中,改一下配置就可以使用了,大大提高開發(fā)效率。
到此這篇關(guān)于Node連接MySQL并封裝其增刪改查的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)Node連接MySQL增刪改查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容
這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編來一起看看吧。2017-06-06
Nodejs如何進(jìn)行性能監(jiān)控和分析優(yōu)化
Node.js應(yīng)用可能因?yàn)楦卟l(fā)、內(nèi)存泄漏、CPU密集型任務(wù)等原因?qū)е滦阅芟陆?影響用戶體驗(yàn)甚至系統(tǒng)穩(wěn)定性,通過性能監(jiān)控和分析,我們可以及時(shí)發(fā)現(xiàn)潛在問題,并針對(duì)性地進(jìn)行優(yōu)化,確保系統(tǒng)正常運(yùn)行且具備良好的性能表現(xiàn)2024-06-06
Node.js實(shí)現(xiàn)登錄注冊(cè)功能
這篇文章主要為大家詳細(xì)介紹了Node.js實(shí)現(xiàn)登錄注冊(cè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
windows實(shí)現(xiàn)npm和cnpm安裝步驟
這篇文章主要介紹了windows實(shí)現(xiàn)npm和cnpm安裝步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
node.js中g(shù)runt和gulp的區(qū)別詳解
這篇文章主要介紹了node.js中g(shù)runt和gulp的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07
淺談Node.js 子進(jìn)程與應(yīng)用場(chǎng)景
這篇文章主要介紹了淺談Node.js 子進(jìn)程與應(yīng)用場(chǎng)景,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01
win7下安裝配置node.js+express開發(fā)環(huán)境
windows7下安裝nodejs及框架express,從誕生至今一直被熱捧,筆者最近也裝了個(gè)環(huán)境打算了解一下。安裝步驟簡(jiǎn)單比較簡(jiǎn)單,這里分享給大家,希望大家能夠喜歡。2015-12-12

