>  기사  >  웹 프론트엔드  >  node.js 개발 가이드 – Node.js는 MySQL에 연결하고 데이터베이스 작업을 수행합니다_node.js

node.js 개발 가이드 – Node.js는 MySQL에 연결하고 데이터베이스 작업을 수행합니다_node.js

WBOY
WBOY원래의
2016-05-16 16:40:581592검색

Node.js는 고성능 웹 서버 작성을 위한 JavaScript 툴킷입니다

일반적으로 NodeJS 개발에서는 데이터베이스, 특히 MySQL을 운영하는 경우가 많습니다. 가장 널리 사용되는 오픈 소스 데이터베이스로서 이 기사에서는 NodeJS를 통해 MySQL 데이터베이스를 운영하는 방법을 소개합니다. NodeJS에 MySQL 모듈을 설치합니다. NodeJS가 MySQL을 지원하도록 하려면 시스템 지원 라이브러리에 MySQL 모듈을 추가해야 합니다.

Node.js에 대해 빨리 배우고 싶다면 Zansheng은 node.js_guide.pdf를 살펴볼 것을 권장합니다. — node.js 개발 가이드: 고화질 전자 버전을 원한다면 메시지를 보내주세요

메시지를 남기고 싶지 않으시면 비행기에 태워드릴 수 있어요! 직접 다운로드

Node.js
node.js의 동작을 간단히 소개하겠습니다
node-mysql 설치
C 코드

$ npm install mysql 


테스트 테이블 생성
//데이터베이스 이름 NodeSample
C 코드

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 코드

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 코드

ClientConnectionReady = function(client) 
{ 
client.query('USE NodeSample', function(error, results) { 
if(error) { 
console.log('ClientConnectionReady Error: ' + error.message); 
client.end(); 
return; 
} 
}); 
}; 


데이터베이스 운영 절차 완료
JS 코드

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.