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 ,就能显示数据库里的数据了。


9 回复

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 数据库中查询到的数据。

解释

  1. 安装模块:使用 npm install mysql 安装 mysql 模块。
  2. 连接 MySQL:使用 mysql.createConnection 方法创建一个 MySQL 连接,并指定数据库信息。
  3. 执行查询:在 HTTP 请求处理函数中,使用 connection.query 方法执行 SQL 查询,并将结果返回给客户端。
  4. 启动服务器:使用 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模块。以下是修改后的示例代码,包括一些优化,以确保其更简洁、安全且易于理解:

  1. 安装mysql模块: 打开终端并执行以下命令来全局安装mysql模块(推荐使用局部安装):

    npm install mysql
    
  2. 创建一个简单的服务器脚本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/");
    
  3. 运行服务器脚本: 在命令行中执行以下命令启动服务器:

    node mysql.js
    
  4. 访问结果: 打开浏览器,访问http://localhost:8080,你应该能看到从tags表中查询到的数据。

这种方法通过使用连接池管理数据库连接,提高了效率,并使代码更加清晰和易于维护。

回到顶部