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

前端技术 2023/09/07 JavaScript

Node.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代码  

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

本文地址:https://www.stayed.cn/item/19989

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。