`
pcajax
  • 浏览: 2112639 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多

Node.js是一套用来编写高性能网络服务器的JavaScript工具包

 

代码片段(6)

[代码] 安装 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 };

[图片] 程序执行结果

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics