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