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');

};

相關文章
相關標籤/搜索