`
shenyuc629
  • 浏览: 195100 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
阅读更多
安装mysql模块的命令:
npm install mysql


然后建立mysqlTest.js:

var mysql = require('mysql');
console.log("over-------------------------");
var TEST_DATABASE = 'nodejs_mysql_test';
var TEST_TABLE = 'test';
var client = mysql.createClient({
  user: 'root',
  password: 'root',
});
   
client.query('CREATE DATABASE '+TEST_DATABASE, function(err) {
  if (err && err.number != mysql.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 TEMPORARY 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();
  }
);


运行命令:
$ node /example/mysql/mysqltest.js


如果你运行代码错误,那么注意一下是否是一下错误(这是笔者在测试时遇到的错误):

Administrator@WIN-23C1Q4GKQ4G ~
$ node /example/mysql/mysqltest.js
over-------------------------

/example/mysql/mysqltest.js:12
    throw err;
    ^
Error: ENOTFOUND, Domain name not found
    at IOWatcher.callback (dns.js:74:15)


解决方法:
   笔者看了一下client.js(mysql模块里面的代码)里面的代码,我们来分析一下:
function Client() {
  if (!(this instanceof Client) || arguments.length) {
    throw new Error('deprecated: use mysql.createClient() instead');
  }

  EventEmitter.call(this);

  this.host = 'localhost';
  this.port = 3306;
  this.user = 'root';
  this.password = null;
  this.database = '';

  this.typeCast = true;
  this.flags = Client.defaultFlags;
  this.maxPacketSize = 0x01000000;
  this.charsetNumber = constants.UTF8_UNICODE_CI;
  this.debug = false;
  this.ending = false;
  this.connected = false;

  this._greeting = null;
  this._queue = [];
  this._socket = null;
  this._parser = null;
};



嘿嘿,我们配置了user,password,database,table而host和port呢?
因此在client对象后面加上代码:


client.host = '127.0.0.1';
client.port = 3306;


这里不能把host写成localhost,不然一样会抛出err错误。

嘿嘿,问题解决了,是不是该给笔者一个好评,谢谢

运行结果:
$ node /example/mysql/mysqltest.js
over-------------------------
shenyuc629-----null
[ { id: 1,
    title: 'super cool',
    text: 'this is a nice text',
    created: Mon, 16 Aug 2010 10:00:23 GMT },
  { id: 2,
    title: 'another entry',
    text: 'because 2 entries make a better test',
    created: Mon, 16 Aug 2010 12:42:15 GMT } ]
{ id:
   { length: 51,
     received: 51,
     number: 2,
     type: 4,
     catalog: 'def',
     db: 'nodejs_mysql_test',
     table: 'test',
     originalTable: 'test',
     name: 'id',
     originalName: 'id',
     charsetNumber: 63,
     fieldLength: 11,
     fieldType: 3,
     flags: 16899,
     decimals: 0 },
  title:
   { length: 57,
     received: 57,
     number: 3,
     type: 4,
     catalog: 'def',
     db: 'nodejs_mysql_test',
     table: 'test',
     originalTable: 'test',
     name: 'title',
     originalName: 'title',
     charsetNumber: 192,
     fieldLength: 765,
     fieldType: 253,
     flags: 0,
     decimals: 0 },
  text:
   { length: 55,
     received: 55,
     number: 4,
     type: 4,
     catalog: 'def',
     db: 'nodejs_mysql_test',
     table: 'test',
     originalTable: 'test',
     name: 'text',
     originalName: 'text',
     charsetNumber: 192,
     fieldLength: 196605,
     fieldType: 252,
     flags: 16,
     decimals: 0 },
  created:
   { length: 61,
     received: 61,
     number: 5,
     type: 4,
     catalog: 'def',
     db: 'nodejs_mysql_test',
     table: 'test',
     originalTable: 'test',
     name: 'created',
     originalName: 'created',
     charsetNumber: 63,
     fieldLength: 19,
     fieldType: 12,
     flags: 128,
     decimals: 0 } }






0
4
分享到:
评论
2 楼 shenyuc629 2012-10-17  
一楼,我是知道什么数据库,首先测试什么数据库
1 楼 witcheryne 2012-10-17  
建议不要折腾node.js + 关系型数据库这块. 有点浪费时间.

相关推荐

    Node.js开发指南微博例子

    在设置项目之前,你需要在Win7环境下安装MySQL,并创建相应的数据库和表来存储用户信息、微博内容以及其他元数据。这通常涉及到SQL脚本的编写和执行。 项目中添加了点赞功能,这是一个社交网络中常见的互动方式。...

    nodejs 结合mysql做的web项目

    在开发环境下(如win7 64位),确保你已经安装了Node.js和MySQL,并正确设置了环境。使用`npm install`命令安装项目依赖,然后通过`node app.js`或类似命令启动应用。一旦应用运行,你就可以通过浏览器访问localhost...

    电子合同定制小程序win7通用

    2. **后端技术**:可能采用Node.js、Python或Java等服务器端语言,处理数据交互和业务逻辑。 3. **数据库管理**:MySQL、MongoDB等数据库用于存储合同信息,保证数据安全。 4. **数字签名技术**:如RSA、SHA等算法...

    jre1.8,mysql8,redis7 win-x64版本

    这可能涉及到使用Node.js的child_process模块来启动Java应用程序,通过套接字或者HTTP接口与Java应用和数据库进行交互,同时还需要配置Redis客户端库来管理缓存操作。 总之,这个项目展示了如何在现代桌面应用开发...

    fort-bot:Fortnite Discord Win Tracker

    "fort-bot:Fortnite Discord Win Tracker" 是一个基于JavaScript开发的项目,主要用于追踪《堡垒之夜》(Fortnite)游戏在Discord平台上的胜利记录。这个工具可以帮助社区管理者或玩家监控和展示他们的游戏胜利数据...

    畅购商城完整代码实现(源码)

    7. **第三方服务集成**:可能包含与支付平台(如支付宝、微信支付)、物流API的对接,以及邮件发送、短信验证等服务的集成。 8. **测试**:单元测试、集成测试确保代码质量,可能使用JUnit、Mockito等测试框架。 9...

    ResearchDownload

    在后端,"ResearchDownload"可能采用了像Java、Python或Node.js这样的服务器端语言来处理数据请求和业务逻辑。数据库管理系统,如MySQL、PostgreSQL或MongoDB,用于存储和管理大量的研究资料信息。考虑到数据的安全...

    Winc:后端开发

    2. **服务器端语言**: 常见的后端开发语言有Java(JVM平台)、Python(如Django和Flask框架)、Node.js(JavaScript运行环境)、Ruby(如Ruby on Rails框架)和Go等。"Winc"可能使用其中的一种或多种语言来实现其...

    WinStackers:华硕 CSE 412

    1. **前端框架**:项目可能使用React、Angular或Vue.js等流行JavaScript框架构建用户界面,提供交互性和动态更新。 2. **后端框架**:Node.js的Express.js可能是后端的基础,用于处理HTTP请求、路由和数据操作。 3. ...

    jiedian

    3. Web开发:如果“jiedian”是一个Web应用,那么可能会涉及到前后端技术,如HTML、CSS、JavaScript(前端),以及Node.js、Django、Flask(后端框架)。 4. 版本控制:提到“freev2”,这可能意味着使用了版本控制...

Global site tag (gtag.js) - Google Analytics