成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Node連接MySQL并封裝其增刪查改

lixiang / 1506人閱讀

摘要:連接說(shuō)到,可能大家會(huì)想到作為數(shù)據(jù)庫(kù),這里將會(huì)介紹與的連接,并分享了封裝好的實(shí)例代碼,在項(xiàng)目開(kāi)發(fā)中可直接使用。操作查詢(xún)添加刪除更新結(jié)束連接這兩種都行,第二種是強(qiáng)制結(jié)束。

Node連接Mysql

說(shuō)到node,可能大家會(huì)想到MOngoDB作為數(shù)據(jù)庫(kù),這里將會(huì)介紹node與mysql的連接,并分享了封裝好的實(shí)例代碼,在項(xiàng)目開(kāi)發(fā)中可直接使用。下一篇博客將會(huì)講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:連接的服務(wù)器
user:數(shù)據(jù)庫(kù)用戶(hù)名
password:設(shè)置的MySQL密碼
database: 要連接的數(shù)據(jù)庫(kù)名

常用的SQL語(yǔ)句

具體的使用這里不做詳細(xì)說(shuō)明,包括select、insert、update、delete等語(yǔ)句。

Node操作Mysql

查詢(xún)

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é)束。

封裝

說(shuō)了這么多,感覺(jué)操作起來(lái)還是挺簡(jiǎn)單的。在實(shí)際開(kāi)發(fā)中,我們想要操作起來(lái)更方便,那就讓我們自己封裝一下來(lái)使用。直接上代碼:

封裝好的代碼

1.數(shù)據(jù)庫(kù)配置文件

//配置鏈接數(shù)據(jù)庫(kù)參數(shù)
module.exports = {
    host : "localhost",
    port : 3306,//端口號(hào)
    database : "nodetest",//數(shù)據(jù)庫(kù)名
    user : "root",//數(shù)據(jù)庫(kù)用戶(hù)名
    password : "123456"http://數(shù)據(jù)庫(kù)密碼
};

2.封裝、暴露方法

let mysql = require("mysql");//引入mysql模塊
var databaseConfig = require("./mysql.config");  //引入數(shù)據(jù)庫(kù)配置模塊中的數(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ù)庫(kù)鏈接失敗");
                throw err;
            }
         //開(kāi)始數(shù)據(jù)操作
         //傳入三個(gè)參數(shù),第一個(gè)參數(shù)sql語(yǔ)句,第二個(gè)參數(shù)sql語(yǔ)句中需要的數(shù)據(jù),第三個(gè)參數(shù)回調(diào)函數(shù)
        connection.query( sql, params, function(err,results,fields ){
           if(err){
                console.log("數(shù)據(jù)操作失敗");
                throw err;
            }
            //將查詢(xún)出來(lái)的數(shù)據(jù)返回給回調(diào)函數(shù)
            callback && callback(results, fields);
            //results作為數(shù)據(jù)操作后的結(jié)果,fields作為數(shù)據(jù)庫(kù)連接的一些字段
            //停止鏈接數(shù)據(jù)庫(kù),必須再查詢(xún)語(yǔ)句后,要不然一調(diào)用這個(gè)方法,就直接停止鏈接,數(shù)據(jù)操作就會(huì)失敗
             connection.end(function(err){
                  if(err){
                      console.log("關(guān)閉數(shù)據(jù)庫(kù)連接失敗!");
                      throw err;
                  }
              });
           });
       });
    }
};

3.演示實(shí)例

var db=require("../model/mysql.js");
// 查詢(xún)實(shí)例
db.query("select * from t_user", [],function(result,fields){
    console.log("查詢(xún)結(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)目中,改一下配置就可以使用了,大大提高開(kāi)發(fā)效率。下一篇將會(huì)分享Node連接MongoDB。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19274.html

相關(guān)文章

  • Node連接MySQL封裝增刪查改

    摘要:連接說(shuō)到,可能大家會(huì)想到作為數(shù)據(jù)庫(kù),這里將會(huì)介紹與的連接,并分享了封裝好的實(shí)例代碼,在項(xiàng)目開(kāi)發(fā)中可直接使用。操作查詢(xún)添加刪除更新結(jié)束連接這兩種都行,第二種是強(qiáng)制結(jié)束。 showImg(https://segmentfault.com/img/bVbaIlR?w=900&h=500); Node連接Mysql 說(shuō)到node,可能大家會(huì)想到MOngoDB作為數(shù)據(jù)庫(kù),這里將會(huì)介紹node與m...

    Maxiye 評(píng)論0 收藏0
  • Node中基于Mongoose對(duì)MongoDB進(jìn)行增刪查改(CRUD)操作(一)

    摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫(kù),在這個(gè)節(jié)目可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對(duì)進(jìn)行增刪查改操作的簡(jiǎn)單介紹,以后會(huì)有進(jìn)階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢(xún),增加,修改,刪除 工具介紹 Mon...

    SillyMonkey 評(píng)論0 收藏0
  • Node中基于Mongoose對(duì)MongoDB進(jìn)行增刪查改(CRUD)操作(一)

    摘要:如圖連接成功后,顯示你的數(shù)據(jù)庫(kù),在這個(gè)節(jié)目可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。如圖安裝與加載首先假定你已經(jīng)安裝了,命令行工具輸入在使用的文件中即可。創(chuàng)建讀取更新刪除單值讀取上文是在中基于對(duì)進(jìn)行增刪查改操作的簡(jiǎn)單介紹,以后會(huì)有進(jìn)階的文章。 關(guān)鍵詞:mongodb安裝 mongoose使用 robomongo mongoose的CRUD操作 mongoose的查詢(xún),增加,修改,刪除 工具介紹 Mon...

    lemon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<