Node.js は、高性能 Web サーバーを作成するための JavaScript ツールキットです
通常、NodeJS 開発では、データベース、特に最も広く使用されているオープンソース データベースとして MySQL を操作することがよくあります。この記事では、NodeJS を介して MySQL データベースを操作する方法を紹介します。 MySQL モジュールを NodeJS にインストールします。NodeJS で MySQL をサポートする必要がある場合は、MySQL モジュールをシステム サポート ライブラリに追加する必要があります
Node.js についてすぐに学びたい場合は、Zansheng 氏は、node.js_guide.pdf を参照することをお勧めします。node.js 開発ガイド: 高解像度の電子版が必要な場合は、メッセージを送信してください
メッセージを残したくないなら、飛行機に乗せてあげるよ! 直接ダウンロード
Node.js
node.js
の動作を簡単に紹介します。
node-mysql
をインストールします
Cコード
$ npm install mysql
テストテーブルを作成
//データベース名 NodeSample
Cコード
CREATE TABLE `NodeSample`.`MyTable` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `firstname` VARCHAR( 20 ) NOT NULL , `lastname` VARCHAR( 20 ) NOT NULL , `message` TEXT NOT NULL ) ENGINE = MYISAM ;
データベースに接続
JSコード
var sys = require('sys'); var Client = require('mysql').Client; var client = new Client(); client.user = 'someuser'; client.password = 'password'; client.connect(function(error, results) { if(error) { console.log('Connection Error: ' + error.message); return; } console.log('Connected to MySQL'); });
データベースを開く
JSコード
ClientConnectionReady = function(client) { client.query('USE NodeSample', function(error, results) { if(error) { console.log('ClientConnectionReady Error: ' + error.message); client.end(); return; } }); };
データベース操作手順を完了します
JSコード
var sys = require('sys'); var Client = require('mysql').Client; var client = new Client(); client.user = 'someuser'; client.password = 'password'; console.log('Connecting to MySQL...'); client.connect(function(error, results) { if(error) { console.log('Connection Error: ' + error.message); return; } console.log('Connected to MySQL'); ClientConnectionReady(client); }); ClientConnectionReady = function(client) { client.query('USE NodeSample', function(error, results) { if(error) { console.log('ClientConnectionReady Error: ' + error.message); client.end(); return; } ClientReady(client); }); }; ClientReady = function(client) { var values = ['Chad', 'Lung', 'Hello World']; client.query('INSERT INTO MyTable SET firstname = ?, lastname = ? , message = ?', values, function(error, results) { if(error) { console.log("ClientReady Error: " + error.message); client.end(); return; } console.log('Inserted: ' + results.affectedRows + ' row.'); console.log('Id inserted: ' + results.insertId); } ); GetData(client); } GetData = function(client) { client.query( 'SELECT * FROM MyTable', function selectCb(error, results, fields) { if (error) { console.log('GetData Error: ' + error.message); client.end(); return; } // Uncomment these if you want lots of feedback //console.log('Results:'); //console.log(results); //console.log('Field metadata:'); //console.log(fields); //console.log(sys.inspect(results)); if(results.length > 0) { var firstResult = results[0]; console.log('First Name: ' + firstResult['firstname']); console.log('Last Name: ' + firstResult['lastname']); console.log('Message: ' + firstResult['message']); } }); client.end(); console.log('Connection closed'); };