nodejs游戏服务器开发(二)---mysql连接

上一章说到了socket的连接,那么这一张就讲述如何用nodejs进行mysql的连接;

这时需要为NodeJS加入Mysql 的Module了,在这个时候,我们搭好的nodejs环境就起到作用了,
先安装mysql module
  1. 先行cd到你要安装的目录
  2. 执行以下命令  $npm install Mysql 
现在就先上个demo先

// mysqlTest.js

//加载mysql Module
var Client = require('mysql').Client,
    client = new Client(),
  
  //要创建的数据库名
    TEST_DATABASE = 'nodejs_mysql_test',
    //要创建的表名
    TEST_TABLE = 'test';
 
//用户名
client.user = 'root';
//密码
client.password = 'root';
//创建连接
client.connect();
 
client.query('CREATE DATABASE '+TEST_DATABASE, function(err) {
  if (err && err.number != Client.ERROR_DB_CREATE_EXISTS) {
    throw err;
  }
});
 
// If no callback is provided, any errors will be emitted as `'error'`
// events by the client
client.query('USE '+TEST_DATABASE);
client.query(
  'CREATE TABLE '+TEST_TABLE+
  '(id INT(11) AUTO_INCREMENT, '+
  'title VARCHAR(255), '+
  'text TEXT, '+
  'created DATETIME, '+
  'PRIMARY KEY (id))'
);
 
client.query(
  'INSERT INTO '+TEST_TABLE+' '+
  'SET title = ?, text = ?, created = ?',
  ['super cool', 'this is a nice text', '2010-08-16 10:00:23']
);
 
var query = client.query(
  'INSERT INTO '+TEST_TABLE+' '+
  'SET title = ?, text = ?, created = ?',
  ['another entry', 'because 2 entries make a better test', '2010-08-16 12:42:15']
);
 
client.query(
  'SELECT * FROM '+TEST_TABLE,
  function selectCb(err, results, fields) {
    if (err) {
      throw err;
    }
 
    console.log(results);
    console.log(fields);
    client.end();
  }
);
上面的就是增删改查之类的,
只是为了说明其用法,并不一定能运行,因为最新的已经改掉了
下面就用我现在用的demo来说明
 

// 创建一个mysql连接

// 加载 mysql module
 
var mysql = require("mysql");
 
var dataBaseLinkInfo = {
//host为数据库的ip
"host": '127.0.0.1',
// 数据库的表名
"database": 'table_name',
//端口号
"port": port,
//用户名
"user": 'name',
//用户密码
"password": "pwd"
}
//创建一个连接
var connection = mysql.createConnection(dataBaseLinkInfo);
//使连接连接上数据库
connection.connect();
//执行查询
connection.query('SELECT * FROM account', function selectCb(err, rows, fields) {
 
if (err) {
 
throw err;
 
}
 
// 这里是打印行信息
console.log(rows);
 
//console.log(fields);
 
})
 
上面都是本人回顾,如果有不懂的,或要吐槽的,都可以留言
原文地址:https://www.cnblogs.com/chiefCTO/p/3197001.html