摘要:連接說到,可能大家會想到作為數(shù)據(jù)庫,這里將會介紹與的連接,并分享了封裝好的實例代碼,在項目開發(fā)中可直接使用。操作查詢添加刪除更新結(jié)束連接這兩種都行,第二種是強制結(jié)束。
Node連接Mysql
說到node,可能大家會想到MOngoDB作為數(shù)據(jù)庫,這里將會介紹node與mysql的連接,并分享了封裝好的實例代碼,在項目開發(fā)中可直接使用。下一篇博客將會講node連接MongoDB。
安裝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:數(shù)據(jù)庫用戶名
password:設(shè)置的MySQL密碼
database: 要連接的數(shù)據(jù)庫名
具體的使用這里不做詳細說明,包括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"http://數(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ā)效率。下一篇將會分享Node連接MongoDB。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19274.html
摘要:連接說到,可能大家會想到作為數(shù)據(jù)庫,這里將會介紹與的連接,并分享了封裝好的實例代碼,在項目開發(fā)中可直接使用。操作查詢添加刪除更新結(jié)束連接這兩種都行,第二種是強制結(jié)束。 showImg(https://segmentfault.com/img/bVbaIlR?w=900&h=500); Node連接Mysql 說到node,可能大家會想到MOngoDB作為數(shù)據(jù)庫,這里將會介紹node與m...
摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫,在這個節(jié)目可以對數(shù)據(jù)庫進行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對進行增刪查改操作的簡單介紹,以后會有進階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...
摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫,在這個節(jié)目可以對數(shù)據(jù)庫進行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對進行增刪查改操作的簡單介紹,以后會有進階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢,增加,修改,刪除 工具介紹 Mon...
閱讀 2227·2021-11-15 11:39
閱讀 983·2021-09-26 09:55
閱讀 925·2021-09-04 16:48
閱讀 2831·2021-08-12 13:23
閱讀 919·2021-07-30 15:30
閱讀 2456·2019-08-29 14:16
閱讀 886·2019-08-26 10:15
閱讀 526·2019-08-23 18:40