node.js 开发指南 – Node.js 链接 MySQL 并进行数据库操做

ode.js是一套用来编写高性能网络服务器的JavaScript工具包
 
一般在NodeJS开发中咱们常常涉及到操做数据库,尤为是 MySQL ,做为应用最为普遍的开源数据库则成为咱们的首选,本篇就来介绍下如何经过NodeJS来操做 MySQL 数据库。 安装MySQL模块到NodeJS中 咱们须要让NodeJS支持MySQL,则须要将MySQL模块添加到系统支持库
 
想要快速了解Node.js ,赞生推荐亲看看 node.js_guide.pdf  — node.js 开发指南 :想要电子版高清的 留言发送
 
若是不想留言 能够带你作飞机! 直接下载
 
Node.js
简单介绍一下node.js的操做吧
安装 node-mysql
C代码  html

?node

1mysql

$ npm install mysql sql

 
建立测试表
//数据库名 NodeSample
C代码  数据库

?npm

1服务器

2网络

3ide

4工具

5

6

CREATE TABLE `NodeSample`.`MyTable` (

`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`firstname` VARCHAR( 20 ) NOT NULL ,

`lastname` VARCHAR( 20 ) NOT NULL ,

`message` TEXT NOT NULL

) ENGINE = MYISAM ;

 
链接数据库
Js代码  

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

var sys = require('sys');

  

var Client = require('mysql').Client;

var client = new Client();

  

client.user = 'someuser';

client.password = 'password';

  

client.connect(function(error, results) {

if(error) {

console.log('Connection Error: ' + error.message);

return;

}

console.log('Connected to MySQL');

});

 
打开数据库
Js代码  

?

1

2

3

4

5

6

7

8

9

10

ClientConnectionReady = function(client)

{

client.query('USE NodeSample', function(error, results) {

if(error) {

console.log('ClientConnectionReady Error: ' + error.message);

client.end();

return;

}

});

};

 
完成数据库操做程序
Js代码 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

var sys = require('sys');

  

var Client = require('mysql').Client;

var client = new Client();

  

client.user = 'someuser';

client.password = 'password';

  

console.log('Connecting to MySQL...');

  

client.connect(function(error, results) {

if(error) {

console.log('Connection Error: ' + error.message);

return;

}

console.log('Connected to MySQL');

ClientConnectionReady(client);

});

  

ClientConnectionReady = function(client)

{

client.query('USE NodeSample', function(error, results) {

if(error) {

console.log('ClientConnectionReady Error: ' + error.message);

client.end();

return;

}

ClientReady(client);

});

};

  

ClientReady = function(client)

{

var values = ['Chad', 'Lung', 'Hello World'];

client.query('INSERT INTO MyTable SET firstname = ?, lastname = ? , message = ?', values,

function(error, results) {

if(error) {

console.log("ClientReady Error: " + error.message);

client.end();

return;

}

console.log('Inserted: ' + results.affectedRows + ' row.');

console.log('Id inserted: ' + results.insertId);

}

);

GetData(client);

}

  

GetData = function(client)

{

client.query(

'SELECT * FROM MyTable',

function selectCb(error, results, fields) {

if (error) {

console.log('GetData Error: ' + error.message);

client.end();

return;

}

// Uncomment these if you want lots of feedback

//console.log('Results:');

//console.log(results);

//console.log('Field metadata:');

//console.log(fields);

//console.log(sys.inspect(results));

  

if(results.length > 0)

{

var firstResult = results[0];

console.log('First Name: ' + firstResult['firstname']);

console.log('Last Name: ' + firstResult['lastname']);

console.log('Message: ' + firstResult['message']);

}

});

  

client.end();

console.log('Connection closed');

};

相关文章
相关标签/搜索