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

[代码] 安装 node-mysql

1 $ npm install mysql

[代码] 创建测试表

1 //数据库名 NodeSample
2  
3 CREATE TABLE `NodeSample`.`MyTable` (
4   `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
5   `firstname` VARCHAR( 20 ) NOT NULL ,
6   `lastname` VARCHAR( 20 ) NOT NULL ,
7   `message` TEXT NOT NULL
8 ) ENGINE = MYISAM ;

[代码] 连接数据库

01 var sys = require('sys');
02   
03 var Client = require('mysql').Client;
04 var client = new Client();
05   
06 client.user = 'someuser';
07 client.password = 'password';
08   
09 client.connect(function(error, results) {
10   if(error) {
11     console.log('Connection Error: ' + error.message);
12     return;
13   }
14   console.log('Connected to MySQL');
15 });

[代码] 打开数据库

01 ClientConnectionReady = function(client)
02 {
03     client.query('USE NodeSample'function(error, results) {
04         if(error) {
05             console.log('ClientConnectionReady Error: ' + error.message);
06             client.end();
07             return;
08         }
09     });
10 };

[代码] 完成数据库操作程序

01 var sys = require('sys');
02   
03 var Client = require('mysql').Client;
04 var client = new Client();
05   
06 client.user = 'someuser';
07 client.password = 'password';
08   
09 console.log('Connecting to MySQL...');
10   
11 client.connect(function(error, results) {
12   if(error) {
13     console.log('Connection Error: ' + error.message);
14     return;
15   }
16   console.log('Connected to MySQL');
17   ClientConnectionReady(client);
18 });
19   
20 ClientConnectionReady = function(client)
21 {
22     client.query('USE NodeSample'function(error, results) {
23         if(error) {
24             console.log('ClientConnectionReady Error: ' + error.message);
25             client.end();
26             return;
27         }
28         ClientReady(client);
29     });
30 };
31   
32 ClientReady = function(client)
33 {
34   var values = ['Chad''Lung''Hello World'];
35   client.query('INSERT INTO MyTable SET firstname = ?, lastname = ? , message = ?', values,
36     function(error, results) {
37       if(error) {
38         console.log("ClientReady Error: " + error.message);
39         client.end();
40         return;
41       }
42       console.log('Inserted: ' + results.affectedRows + ' row.');
43       console.log('Id inserted: ' + results.insertId);
44     }
45   );
46   GetData(client);
47 }
48   
49 GetData = function(client)
50 {
51   client.query(
52     'SELECT * FROM MyTable',
53     function selectCb(error, results, fields) {
54       if (error) {
55           console.log('GetData Error: ' + error.message);
56           client.end();
57           return;
58       }
59       // Uncomment these if you want lots of feedback
60       //console.log('Results:');
61       //console.log(results);
62       //console.log('Field metadata:');
63       //console.log(fields);
64       //console.log(sys.inspect(results));
65   
66       if(results.length > 0)
67       {
68         var firstResult = results[0];
69         console.log('First Name: ' + firstResult['firstname']);
70         console.log('Last Name: ' + firstResult['lastname']);
71         console.log('Message: ' + firstResult['message']);
72       }
73   });
74   
75   client.end();
76   console.log('Connection closed');
77 };
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值