Node.js 连接 MySQL 并进行数据库操作

安装 node-mysql

$ npm install mysql

创建测试表

//数据库名 NodeSample

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 ;

连接数据库

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');
});

打开数据库

ClientConnectionReady = function(client)
{
    client.query('USE NodeSample', function(error, results) {
        if(error) {
            console.log('ClientConnectionReady Error: ' + error.message);
            client.end();
            return;
        }
    });
};

完成数据库操作程序

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');
};

 

posted @ 2013-01-23 17:21  坏混混  阅读(251)  评论(0)    收藏  举报