Node連接MySQL并封裝其增刪改查的實現(xiàn)代碼
Node連接Mysql
說到node,可能大家會想到MOngoDB作為數(shù)據(jù)庫,這里將會介紹node與mysql的連接,并分享了封裝好的實例代碼,在項目開發(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語句
具體的使用這里不做詳細說明,包括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();
這兩種都行,第二種是強制結(jié)束。
封裝
說了這么多,感覺操作起來還是挺簡單的。在實際開發(fā)中,我們想要操作起來更方便,那就讓我們自己封裝一下來使用。直接上代碼:
封裝好的代碼
1.數(shù)據(jù)庫配置文件
//配置鏈接數(shù)據(jù)庫參數(shù) module.exports = { host : 'localhost', port : 3306,//端口號 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){ //每次使用的時候需要創(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ù)操作 //傳入三個參數(shù),第一個參數(shù)sql語句,第二個參數(shù)sql語句中需要的數(shù)據(jù),第三個參數(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)用這個方法,就直接停止鏈接,數(shù)據(jù)操作就會失敗 connection.end(function(err){ if(err){ console.log('關(guān)閉數(shù)據(jù)庫連接失??!'); throw err; } }); }); }); } };
3.演示實例
var db=require('../model/mysql.js'); // 查詢實例 db.query('select * from t_user', [],function(result,fields){ console.log('查詢結(jié)果:'); console.log(result); }); //添加實例 var addSql = 'INSERT INTO websites(username,password) VALUES(?,?)'; var addSqlParams =['咕嚕先森', '666']; db.query(addSql,addSqlParams,function(result,fields){ console.log('添加成功') })
結(jié)束
想要使用的朋友,可以直接把封裝好的兩個文件copy到項目中,改一下配置就可以使用了,大大提高開發(fā)效率。
到此這篇關(guān)于Node連接MySQL并封裝其增刪改查的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)Node連接MySQL增刪改查內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nodejs處理圖片的幾種方法總結(jié)(使用sharp、jimp及webconvert)
這篇文章主要給大家介紹了關(guān)于nodejs處理圖片的幾種方法,文中介紹的方法分別是sharp、jimp及webconvert,在開發(fā)過程中我們有時候需要對圖片進行處理,給一個圖片添加水印、多個圖片合成為一圖片等操作,需要的朋友可以參考下2023-12-12Node.js+express+socket實現(xiàn)在線實時多人聊天室
這篇文章主要為大家詳細介紹了Node.js+express+socket實現(xiàn)在線實時多人聊天室,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07從Node.js事件觸發(fā)器到Vue自定義事件的深入講解
這篇文章主要給大家介紹了關(guān)于從Node.js事件觸發(fā)器到Vue自定義事件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-06-06使用Jasmine和Karma對AngularJS頁面程序進行測試
這篇文章主要介紹了使用Jasmine和Karma對AngularJS頁面程序進行測試的方法,以Node.js為環(huán)境,非常適合JavaScript的全棧開發(fā)時使用,需要的朋友可以參考下2016-03-03