最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs入門教程五:連接數(shù)據(jù)庫的方法分析

 更新時間:2017年04月24日 11:36:10   作者:Dason_yu  
這篇文章主要介紹了nodejs入門教程之連接數(shù)據(jù)庫的方法,結合實例形式分析了nodejs連接數(shù)據(jù)庫的具體步驟與相關操作技巧,需要的朋友可以參考下

本文實例講述了nodejs入門教程之連接數(shù)據(jù)庫的方法。分享給大家供大家參考,具體如下:

參考文章鏈接:  nodejs連接mysql

1.準備工作

在nodejs中沒有mysql模塊,但npm中提供了mysql,所以可以使用npm安裝mysql

命令:npm install mysql, 會生成 node_modules 文件夾 ,如圖

執(zhí)行后發(fā)現(xiàn)報了一個警告,說沒有package.json 這個文件,只需要執(zhí)行 npm init -f 的命令就會生成一個這個文件

2.直接連接數(shù)據(jù)庫

mysql.createConnection(Object) 方法與 mysql.createPool(Object)的參數(shù)

host 連接數(shù)據(jù)庫所在的主機名. (默認: localhost)
port 連接端口. (默認: 3306)
localAddress 用于TCP連接的IP地址. (可選)
socketPath 鏈接到unix域的路徑。在使用host和port時該參數(shù)會被忽略.
user MySQL用戶的用戶名.
password MySQL用戶的密碼.
database 鏈接到的數(shù)據(jù)庫名稱 (可選).
charset 連接的字符集. (默認: 'UTF8_GENERAL_CI'.設置該值要使用大寫!)
timezone 儲存本地時間的時區(qū). (默認: 'local')
stringifyObjects 是否序列化對象. See issue #501. (默認: 'false')
insecureAuth 是否允許舊的身份驗證方法連接到數(shù)據(jù)庫實例. (默認: false)
typeCast 確定是否講column值轉換為本地JavaScript類型列值. (默認: true)
queryFormat 自定義的查詢語句格式化函數(shù).
supportBigNumbers 數(shù)據(jù)庫處理大數(shù)字(長整型和含小數(shù)),時應該啟用 (默認: false).
bigNumberStrings 啟用 supportBigNumbers和bigNumberStrings 并強制這些數(shù)字以字符串的方式返回(默認: false).
dateStrings 強制日期類型(TIMESTAMP, DATETIME, DATE)以字符串返回,而不是一javascript Date對象返回. (默認: false)
debug 是否開啟調試. (默認: false)
multipleStatements 是否允許在一個query中傳遞多個查詢語句. (Default: false)
flags 鏈接標志.

連接數(shù)據(jù)庫

var mysql = require('mysql'); //調用MySQL模塊
//創(chuàng)建一個connection
var connection = mysql.createConnection({
 host: '192.168.3.3',  //主機
 user: 'root',    //MySQL認證用戶名
 password: 'x5',  //MySQL認證用戶密碼
 database: 'dason_yu',
 port: '3306'     //端口號
});
//創(chuàng)建一個connection
connection.connect(function(err){
 if(err){
  console.log('[query] - :'+err);
  return;
 }
 console.log('[connection connect] succeed!');
});
//執(zhí)行sql語句
var userAddSql = 'insert into user (id,name,money) values(?,?,?)';
var param = [3,'ccc',200];
/**
 * 執(zhí)行所有類型的 sql 語句
 * query(sql,arr[],function)
 * @parms: sql:sql語句 arr: 填充站位符的數(shù)組,可以缺省
 *   function: 回調函數(shù),result: 結果集,對象組成的數(shù)組
 */
connection.query(userAddSql,param,function(err,rs){
 if(err){
  console.log('insert err:',err.message);
  return;
 }
 console.log('insert success');
});
//關閉connection
connection.end(function(err){
 if(err){
  console.log(err.toString());
  return;
 }
 console.log('[connection end] succeed!');
});

3.使用連接池連接數(shù)據(jù)庫

將下面代碼寫到 httpServer.js 文件中

使用在命令行窗口中 node httpServer.js 運行

var mysql = require('mysql'); //用于創(chuàng)建數(shù)據(jù)庫連接
var pool = mysql.createPool({// 創(chuàng)建數(shù)據(jù)庫連接池
 host : '127.0.0.1' ,
 user : 'root' ,
 password : 'root' ,
 database : 'dason',
 multipleStatements: true
});
/**
 * 獲取數(shù)據(jù)庫連接
 * @parms: err:異常 connnection:數(shù)據(jù)庫連接對象
 *
 */
pool.getConnection(function(err,connection){
 if(err){
  console.log(err);
 }
 /**
  * 執(zhí)行所有類型的 sql 語句
  * query(sql,arr[],function)
  * @parms: sql:sql語句 arr: 填充站位符的數(shù)組,可以缺省
  *   function: 回調函數(shù),result: 結果集,對象組成的數(shù)組
  */
 connection.query('SELECT * FROM user',function(err,result){
  console.log(result);
  connection.release();//將連接放回連接池
 });
});

結果:

[ RowDataPacket { id: 1, name: 'a', email: 'a@123' },
 RowDataPacket { id: 2, name: 'b', email: 'b@123' },
 RowDataPacket { id: 4, name: 'd', email: 'd@123' },
 RowDataPacket { id: 5, name: 'e', email: 'e@123' },
 RowDataPacket { id: 6, name: 'f', email: 'f@123' },
 RowDataPacket { id: 3, name: 'c', email: 'c@123' },
 RowDataPacket { id: 7, name: 'g', email: 'g@123' } ]

4. end() 與 destroy()、release()

end() 接受一個回調函數(shù),并且會在query結束之后才觸發(fā),如果query出錯,仍然會終止鏈接,錯誤會傳遞到回調函數(shù)中處理。

destroy() 立即終止數(shù)據(jù)庫連接,即使還有query沒有完成,之后的回調函數(shù)也不會在觸發(fā)。

release() 將連接放回連接池中。

5.package.json

npm install express –save

npm install express –save-dev

上面代碼表示單獨安裝express模塊,

–save參數(shù)表示將該模塊寫入dependencies屬性,

–save-dev表示將該模塊寫入devDependencies屬性。

希望本文所述對大家nodejs程序設計有所幫助。

相關文章

  • PHP和NodeJs開發(fā)的應用如何共用Session

    PHP和NodeJs開發(fā)的應用如何共用Session

    這篇文章主要介紹了PHP和NodeJs開發(fā)的應用如何共用Session的相關資料及思路,需要的朋友可以參考下
    2015-04-04
  • node.js中的fs.realpath方法使用說明

    node.js中的fs.realpath方法使用說明

    這篇文章主要介紹了node.js中的fs.realpath方法使用說明,本文介紹了fs.realpath的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • koa socket即時通訊的示例代碼

    koa socket即時通訊的示例代碼

    這篇文章主要介紹了koa socket即時通訊的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Nodejs本地部署DeepSeek的教程詳解

    Nodejs本地部署DeepSeek的教程詳解

    DeepSeek作為一款開源且性能強大的大語言模型,提供了靈活的本地部署方案,讓用戶能夠在本地環(huán)境中高效運行模型,同時保護數(shù)據(jù)隱私,本文主要為大家詳細介紹了Nodejs本地部署DeepSeek的相關知識,需要的可以了解下
    2025-02-02
  • Node.js中readline模塊實現(xiàn)終端輸入

    Node.js中readline模塊實現(xiàn)終端輸入

    本文主要介紹了Node.js中readline模塊實現(xiàn)終端輸入,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • node錯誤處理與日志記錄的實現(xiàn)

    node錯誤處理與日志記錄的實現(xiàn)

    這篇文章主要介紹了node錯誤處理與日志記錄的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • express框架+bootstrap美化ejs模板實例分析

    express框架+bootstrap美化ejs模板實例分析

    這篇文章主要介紹了express框架+bootstrap美化ejs模板,結合實例形式分析了express框架引入bootstrap結合ejs模版引擎相關操作技巧與注意事項,需要的朋友可以參考下
    2023-05-05
  • Express使用html模板的詳細代碼

    Express使用html模板的詳細代碼

    本篇文章主要介紹了Express使用html模板的詳細代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • nodejs同步調用獲取mysql數(shù)據(jù)時遇到的大坑

    nodejs同步調用獲取mysql數(shù)據(jù)時遇到的大坑

    今天小編就為大家分享一篇關于nodejs同步調用獲取mysql數(shù)據(jù)時遇到的大坑,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 用nodeJS搭建本地文件服務器的幾種方法小結

    用nodeJS搭建本地文件服務器的幾種方法小結

    本篇文章主要介紹了用nodeJS搭建本地文件服務器的幾種方法小結,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03

最新評論

酒泉市| 红原县| 林甸县| 上杭县| 青河县| 榆社县| 南华县| 柳江县| 和政县| 宣化县| 万州区| 葫芦岛市| 肇东市| 赣榆县| 南部县| 修水县| 高碑店市| 合水县| 东阳市| 晋城| 韶关市| 呈贡县| 凤城市| 凌云县| 游戏| 南开区| 海盐县| 宁远县| 大关县| 伽师县| 资中县| 东乡族自治县| 茶陵县| 巫溪县| 安阳县| 奉节县| 舟曲县| 云安县| 平泉县| 正安县| 治县。|