Nodejs如何读取MySQL数据
Nodejs如何读取MySQL数据
先安装mysql模块。
node.js默认安装时,模块文件放在 /usr/local/lib/node_modules 这个目录下,为了便宜管理,模块还是统一安装到这里好。
$ cd /usr/local/lib
$ npm install mysql
程序文件mysql.js
var Client = require('/usr/local/lib/node_modules/mysql').Client;
var client = new Client();
client.user = ‘root’;
client.password = ‘’;
console.log(‘Connecting to MySQL…’);
client.query(‘USE tiny_shop’); //如果MySQL中没有库表,赶紧建。
http = require(“http”);
var server = http.createServer(function(request, response) {
response.writeHeader(200, {“Content-Type”: “text/html”});
client.query('SELECT * FROM tags', function selectCb(err, results, fields) {
if (err) {
throw err;
}
var data = '';
for (var i=0; i<results.length; i++) {
var firstResult = results[i];
data += 'id: ' + firstResult['id']+'tag: ' + firstResult['tag'];
}
response.write(data);
response.end();
});
});
server.listen(8080);
var sys = require(“util”);
sys.puts(“Server running at http://localhost:8080/”);
运行
$ node mysql.js
在浏览器里,输入 http://localhost:8080 ,就能显示数据库里的数据了。
Node.js 如何读取 MySQL 数据
安装 MySQL 模块
首先,我们需要安装 mysql
模块。你可以通过以下命令来安装:
npm install mysql
注意,默认情况下,npm
会将模块安装到当前项目的 node_modules
目录中,而不是全局路径 /usr/local/lib/node_modules
。
创建 Node.js 应用程序
接下来,我们创建一个简单的 Node.js 应用来读取 MySQL 数据。假设你的项目结构如下:
/myproject
/node_modules
app.js
在 app.js
文件中编写如下代码:
const mysql = require('mysql');
const http = require('http');
// 创建 MySQL 连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'tiny_shop'
});
// 连接到 MySQL 数据库
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL:', err.stack);
return;
}
console.log('Connected to MySQL as id ' + connection.threadId);
});
// 创建 HTTP 服务器
const server = http.createServer((request, response) => {
response.writeHead(200, {"Content-Type": "text/html"});
// 执行查询
connection.query('SELECT * FROM tags', (error, results, fields) => {
if (error) throw error;
let data = '';
for (let i = 0; i < results.length; i++) {
const firstResult = results[i];
data += `id: ${firstResult.id}, tag: ${firstResult.tag}<br>`;
}
response.end(data);
});
});
// 启动服务器
server.listen(8080, () => {
console.log('Server is running on port 8080');
});
运行应用程序
保存文件后,在终端中运行:
node app.js
然后在浏览器中访问 http://localhost:8080
,你应该能看到从 MySQL 数据库中查询到的数据。
解释
- 安装模块:使用
npm install mysql
安装mysql
模块。 - 连接 MySQL:使用
mysql.createConnection
方法创建一个 MySQL 连接,并指定数据库信息。 - 执行查询:在 HTTP 请求处理函数中,使用
connection.query
方法执行 SQL 查询,并将结果返回给客户端。 - 启动服务器:使用
http.createServer
方法创建一个 HTTP 服务器,并监听端口 8080。
以上步骤展示了如何使用 Node.js 读取 MySQL 数据的基本流程。
留脚印。。。
读写性能怎么样啊
一般我都安装到项目的node_modules下,避免使用全局的模块。
不需要关闭连接吗?
exports.query = function(strSql){ var ret=[]; client.query(strSql,function(e,result){ ret = result; console.log(ret); }); return ret;
}
像这样把结果返回回去,貌似不行呢~~~
似乎太旧了 你这个用不了了吧
要使用Node.js读取MySQL数据,需要首先安装mysql
模块。以下是修改后的示例代码,包括一些优化,以确保其更简洁、安全且易于理解:
-
安装
mysql
模块: 打开终端并执行以下命令来全局安装mysql
模块(推荐使用局部安装):npm install mysql
-
创建一个简单的服务器脚本
mysql.js
: 使用局部安装的mysql
模块,并正确地处理连接和查询操作。const mysql = require('mysql'); const http = require('http'); // 创建数据库连接池 const pool = mysql.createPool({ host: 'localhost', user: 'root', password: '', database: 'tiny_shop' }); const server = http.createServer((request, response) => { response.writeHead(200, { "Content-Type": "text/html" }); pool.query('SELECT * FROM tags', (error, results) => { if (error) throw error; let data = ''; for (let result of results) { data += `id: ${result.id}, tag: ${result.tag}<br>`; } response.end(data); }); }); server.listen(8080); console.log("Server running at http://localhost:8080/");
-
运行服务器脚本: 在命令行中执行以下命令启动服务器:
node mysql.js
-
访问结果: 打开浏览器,访问
http://localhost:8080
,你应该能看到从tags
表中查询到的数据。
这种方法通过使用连接池管理数据库连接,提高了效率,并使代码更加清晰和易于维护。