Node 連線 mysql
在這篇筆記中,將會介紹node與mysql的連線,並且會分享封裝好的程式碼,在專案中是可以直接使用。
安裝 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:連線的伺服器
user:資料庫使用者名稱
password:設定的MySQL密碼
database: 要連線的資料庫名
常用的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);
})
結束連線
connection.end(function(err) {
});
connection.destroy();
這兩種都行,第二種是強制結束。
封裝
封裝好的程式碼
1.資料庫配置檔案
//配置連結資料庫引數
module.exports = {
host : `localhost`,
port : 3306,//埠號
database : `nodetest`,//資料庫名
user : `root`,//資料庫使用者名稱
password : `123456`//資料庫密碼
};
2.封裝、暴露方法
let mysql = require(`mysql`);//引入mysql模組
var databaseConfig = require(`./mysql.config`); //引入資料庫配置模組中的資料
//向外暴露方法
module.exports = {
query : function(sql,params,callback){
//每次使用的時候需要建立連結,資料操作完成之後要關閉連線
var connection = mysql.createConnection(databaseConfig);
connection.connect(function(err){
if(err){
console.log(`資料庫連結失敗`);
throw err;
}
//開始資料操作
//傳入三個引數,第一個引數sql語句,第二個引數sql語句中需要的資料,第三個引數回撥函式
connection.query( sql, params, function(err,results,fields ){
if(err){
console.log(`資料操作失敗`);
throw err;
}
//將查詢出來的資料返回給回撥函式
callback && callback(results, fields);
//results作為資料操作後的結果,fields作為資料庫連線的一些欄位
//停止連結資料庫,必須再查詢語句後,要不然一呼叫這個方法,就直接停止連結,資料操作就會失敗
connection.end(function(err){
if(err){
console.log(`關閉資料庫連線失敗!`);
throw err;
}
});
});
});
}
};
3.演示例項
var db=require(`../model/mysql.js`);
// 查詢例項
db.query(`select * from t_user`, [],function(result,fields){
console.log(`查詢結果:`);
console.log(result);
});
//新增例項
var addSql = `INSERT INTO websites(username,password) VALUES(?,?)`;
var addSqlParams =[`咕嚕先森`, `666`];
db.query(addSql,addSqlParams,function(result,fields){
console.log(`新增成功`)
})
結束
使用的時候直接將封裝好的方法copy到專案中,修改一下例項就行了。在下一篇我會繼續介紹node+mysql連線池的使用。