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

Node.js操作Firebird數(shù)據(jù)庫教程

 更新時間:2016年03月04日 14:52:49   作者:Dimikart  
這篇文章主要為大家分享了Node.js操作Firebird數(shù)據(jù)庫教程,思路清晰便于大家理解,感興趣的小伙伴們可以參考一下

      Firebird是一個跨平臺的關(guān)系數(shù)據(jù)庫系統(tǒng),目前能夠運行在Windows、linux和各種Unix操作系統(tǒng)上,提供了大部分SQL-99標準的功能。它既能作為多用戶環(huán)境下的數(shù)據(jù)庫服務(wù)器運行,也提供嵌入式數(shù)據(jù)庫的實現(xiàn)。

  Firebird脫胎于Borland公司的開源版數(shù)據(jù)庫Interbase6.0,是一個完全非商業(yè)化的產(chǎn)品,用C和C++開發(fā)。

  一個firebird數(shù)據(jù)庫服務(wù)器能夠管理多個獨立的數(shù)據(jù)庫,每一個數(shù)據(jù)庫同時可支持多個客戶端連結(jié)??傊核且粋€開源的,強大的,可以自由使用的數(shù)據(jù)庫(即使是商業(yè)上的使用)。

特點

Firebird是一個真正的關(guān)系數(shù)據(jù)庫,支持存儲過程、視圖、觸發(fā)器、事務(wù)等大型關(guān)系數(shù)據(jù)庫的所有特性;

Firebird支持SQL92的絕大部分命令,并且支持大部分SQL99命令,新版Firebird 2.0對SQL99的支持更完整;

Firebird源碼基于成熟的商業(yè)數(shù)據(jù)庫Interbase,有良好的穩(wěn)定性,與Interbase有良好的兼容性;
不用考慮授權(quán)費用(免費),不用擔(dān)心將來有一天你或你的客戶因為使用盜版而被數(shù)據(jù)庫開發(fā)商告上法庭;

發(fā)布簡易,安裝文件只有幾M,且高度可定制,客戶端的分發(fā)也很簡單,只需一個DLL文件;
Firebird的一嵌入式服務(wù)器版本,不用安裝,直接運行,基于單機開發(fā)首選;

Firebird的運行效率非常高;

具備高度可移植性,可在Linux,Unix,MacOS,Windows,Solaris系統(tǒng)下運行,而且數(shù)據(jù)庫格式完全一樣,不用修改;

開發(fā)環(huán)境支持良好,Delphi,C++Builder不用通過ODBC連接,直接用原生開發(fā)接口開發(fā)基于Firebird的程序。

為什么使用FireBird?

  對于小型企業(yè)用戶而言,現(xiàn)在的開放源碼數(shù)據(jù)庫有兩點不足:要么太大(如MySQL、PostgreSQL);要么太小,并且缺乏功能和文檔(如HypersonicSQL和McKoi)。在很多應(yīng)用環(huán)境中,用戶需要有一個大小適中且功能齊備的數(shù)據(jù)庫。

  Firebird相對來說比較小,其RPM版本只有2.6MB。這使其可以稱得上是理想的“嵌入式數(shù)據(jù)庫”,可用于與其它應(yīng)用程序服務(wù)器和應(yīng)用程序捆綁。Firebird具有大部分成熟數(shù)據(jù)庫所具有的功能,比如支持存儲過程、SQL兼容等。如果用戶有使用DB2或PostgreSQL的經(jīng)驗,就會發(fā)現(xiàn)Firebird與它們的語法非常相似,數(shù)據(jù)類型和數(shù)據(jù)處理方式也很類似。

安裝

  前面講了那么多關(guān)于FireBird的內(nèi)容,現(xiàn)在開始來講解如何用Node來操作FireBird。

  如果想通過Node來操作FireBird,首先要安裝操作FireBird的模塊——node-firebird。如下代碼:

npm install node-firebird

  安裝完成以后,我們就可以在程序中使用node來操作FireBird了,如下代碼:

var FireBird = require('node-firebird');

Connection options

  當我們通過node來操作FireBird時,首先要對數(shù)據(jù)庫連接進行設(shè)置,包括連接的ip地址、端口號、數(shù)據(jù)庫名稱(可以是包括路徑的全名)、連接的用戶名、密碼。如下代碼:

 var options = {};
 options.host = '127.0.0.1';          // 設(shè)置主機地址
 options.port = 3050;              // 端口號
 options.database = '/home/user/test.fdb';   // 數(shù)據(jù)庫名稱
 options.user = 'SYSDBA';            // 用戶名
 options.password = 'masterkey';        // 密碼

  這樣數(shù)據(jù)庫的連接就設(shè)置完成了。

escape

  在node-firebird模塊中有一個名為escape的方法,它的返回值為String類型。使用該方法可以防止SQL注入,如下代碼:

FireBird.escape(value) -> return {String}

實例如下:

var FireBird = require('node-firebird');
var sql1 = 'SELECT * FROM a WHERE ID='+Firebird.escape(2) ;
console.log(sql1);

create

  create方法用于建立數(shù)據(jù)庫,其語法格式如下:

FireBird.create(options, function(err, db));

如下代碼:

FireBird.create(options,function(err,db){
  if(err)
    throw err;
  console.log('創(chuàng)建數(shù)據(jù)庫成功');
  db.detach(); //關(guān)閉數(shù)據(jù)庫連接
});

注意:當數(shù)據(jù)庫存在時候,用該方法建立數(shù)據(jù)庫會將原數(shù)據(jù)庫覆蓋,從而導(dǎo)致數(shù)據(jù)丟失。

query

  db.query方法的用法前面已經(jīng)介紹了一些,在這里將繼續(xù)給大家講db.query()的用法。當query語句中是查詢語句時,返回的結(jié)果為對象類型的數(shù)組(即result的值)。我們可以使用db.query()對數(shù)據(jù)庫中的表進行添加,修改,刪除,更新操作。db.query()有兩種用法,一種是無參數(shù)的查詢,一種是有參數(shù)的查詢。

有參數(shù)的查詢:

db.query(query, [params], function(err, result))

實例代碼如下向表a中插入數(shù)據(jù):

FireBird.attach(options, function(err, db) {
  if (err)
    throw err;
  // db = DATABASE
  db.query('insert into a (id,name) values(?,?)',[1,'Tom'], function(err, result) {
    if (err)
      throw err;
    console.log("insert success!");
    db.detach();
  });
});

實例代碼更新a表中的數(shù)據(jù):

FireBird.attach(options, function(err, db) {
  if (err)
  throw err;
  // db = DATABASE
  db.query("update a set name='Ann' where id=1", function(err, result) {
    if (err)
      throw err;
    console.log("update success!");
    db.detach();
  });
});

以上就是本文的全部內(nèi)容,教會大家如何使用Node.js操作Firebird數(shù)據(jù)庫,希望大家喜歡。

相關(guān)文章

  • Node.js中.npmrc文件的配置實現(xiàn)

    Node.js中.npmrc文件的配置實現(xiàn)

    .npmrc?文件是 npm 配置的核心文件,用于管理 npm 的行為,本文就來介紹一下Node .npmrc文件配置,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • 小結(jié)Node.js中非阻塞IO和事件循環(huán)

    小結(jié)Node.js中非阻塞IO和事件循環(huán)

    本文針對在Node.js關(guān)鍵的兩個概念:非阻塞IO和事件循環(huán)進行了適當?shù)目偨Y(jié),需要的朋友可以參考下
    2014-09-09
  • Nodejs實現(xiàn)多人同時在線移動鼠標的小游戲分享

    Nodejs實現(xiàn)多人同時在線移動鼠標的小游戲分享

    這篇文章主要介紹了Nodejs實現(xiàn)多人同時在線移動鼠標的小游戲分享,本文給出了服務(wù)器端和客戶端代碼以及運行方法,需要的朋友可以參考下
    2014-12-12
  • nodejs實現(xiàn)郵箱發(fā)送驗證碼功能

    nodejs實現(xiàn)郵箱發(fā)送驗證碼功能

    開發(fā)個人網(wǎng)站時,注冊頁面可以使用郵箱驗證,于是記錄一下如何用nodejs/express服務(wù)器實現(xiàn)郵箱發(fā)送驗證碼,不僅可以在郵箱注冊時使用,還可以拓展用于各種安全驗證,本文給大家介紹了使用nodejs實現(xiàn)郵箱發(fā)送驗證碼功能,需要的朋友可以參考下
    2024-07-07
  • npm配置淘寶鏡像的教程詳解

    npm配置淘寶鏡像的教程詳解

    npm淘寶鏡像,也稱為npm cnpm或npm.taobao.org,是一個針對npm包管理器的國內(nèi)鏡像服務(wù),通過設(shè)置npm淘寶鏡像,你可以更快地下載和安裝依賴,本文給大家介紹了npm配置淘寶鏡像的教程,需要的朋友可以參考下
    2024-07-07
  • node連接mysql查詢事務(wù)處理的實現(xiàn)

    node連接mysql查詢事務(wù)處理的實現(xiàn)

    本文主要介紹了node連接mysql查詢事務(wù)處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 淺析node.js的模塊加載機制

    淺析node.js的模塊加載機制

    這篇文章主要介紹了淺析node.js的模塊加載機制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js之構(gòu)建WebSocket服務(wù)全過程

    Node.js之構(gòu)建WebSocket服務(wù)全過程

    這篇文章主要介紹了Node.js之構(gòu)建WebSocket服務(wù)全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • node.js配置Token驗證的2種方式總結(jié)

    node.js配置Token驗證的2種方式總結(jié)

    token驗證,在設(shè)計登錄注冊和一些權(quán)限接口時發(fā)揮作用,下面這篇文章主要給大家介紹了關(guān)于node.js配置Token驗證的2種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • express框架實現(xiàn)基于Websocket建立的簡易聊天室

    express框架實現(xiàn)基于Websocket建立的簡易聊天室

    本篇文章主要介紹了express框架實現(xiàn)基于Websocket建立的簡易聊天室,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08

最新評論

湖南省| 扎鲁特旗| 华池县| 化德县| 荔波县| 襄垣县| 苗栗市| 朝阳区| 信阳市| 柏乡县| 墨竹工卡县| 吴江市| 通海县| 读书| 松阳县| 宁武县| 铜梁县| 芜湖市| 壤塘县| 巩留县| 鄂托克前旗| 西贡区| 应城市| 怀化市| 洛浦县| 靖远县| 临颍县| 鲁山县| 壶关县| 河间市| 绩溪县| 明光市| 无棣县| 格尔木市| 汉川市| 会昌县| 桐乡市| 寻乌县| 海盐县| 怀柔区| 新宾|