我刚刚开始接触Node.js。我来自PHP背景,所以我相当习惯使用MySQL来满足我的所有数据库需求。

我如何使用MySQL与Node.js?


当前回答

因为这是一个旧线程,只是添加了一个更新:

安装MySQL node.js驱动程序:

如果你只是运行npm install mysql,你需要在运行服务器的同一个目录下。我建议按照下面的例子来做:

全球安装:

npm install -g mysql

本地安装:

1-把它添加到你的包里。Json的依赖项:

"dependencies": {
    "mysql": "~2.3.2",
     ...

2-运行NPM install


注意,为了建立连接,你还需要运行mysql服务器(它是独立于节点的)

安装MySQL服务器:

有很多教程解释了这一点,它有点依赖于操作系统。只要去谷歌搜索如何安装mysql服务器[Ubuntu|MacOSX|Windows]。但一句话:你必须去http://www.mysql.com/downloads/并安装它。

其他回答

在我看来,你应该尝试MySQL Connector/Node.js,这是MySQL的官方Node.js驱动程序。 详见ref-1和ref-2。 我尝试了mysqljs/mysql,这里是可用的,但我没有找到这个库的类,方法,属性的详细文档。

所以我切换到标准的MySQL Connector/Node.js和X DevAPI,因为它是一个异步的基于承诺的客户端库,并提供了良好的文档。 看一下下面的代码片段:

const mysqlx = require('@mysql/xdevapi');
const rows = [];

mysqlx.getSession('mysqlx://localhost:33060')
.then(session => {
    const table = session.getSchema('testSchema').getTable('testTable');

    // The criteria is defined through the expression.
    return table.update().where('name = "bar"').set('age', 50)
        .execute()
        .then(() => {
            return table.select().orderBy('name ASC')
                .execute(row => rows.push(row));
        });
})
.then(() => {
    console.log(rows);
});

因为这是一个旧线程,只是添加了一个更新:

安装MySQL node.js驱动程序:

如果你只是运行npm install mysql,你需要在运行服务器的同一个目录下。我建议按照下面的例子来做:

全球安装:

npm install -g mysql

本地安装:

1-把它添加到你的包里。Json的依赖项:

"dependencies": {
    "mysql": "~2.3.2",
     ...

2-运行NPM install


注意,为了建立连接,你还需要运行mysql服务器(它是独立于节点的)

安装MySQL服务器:

有很多教程解释了这一点,它有点依赖于操作系统。只要去谷歌搜索如何安装mysql服务器[Ubuntu|MacOSX|Windows]。但一句话:你必须去http://www.mysql.com/downloads/并安装它。

通过安装库连接mysql数据库。在这里,选择了稳定且易于使用的node-mysql模块。

npm install mysql@2.0.0-alpha2

var http = require('http'),
   mysql = require('mysql');

var sqlInfo = {
   host: 'localhost',
   user: 'root',
   password: 'urpass',
   database: 'dbname'
}
client = mysql.createConnection(sqlInfo);

client.connect();

用于NodeJS mysql连接和查询的例子

您还可以尝试一种名为Node.js DB的新方法,该方法旨在为多个数据库引擎提供一个通用框架。它是用c++构建的,因此性能得到了保证。

具体来说,你可以使用它的db-mysql驱动程序来支持Node.js的MySQL。

node-mysql可能是用于MySQL数据库的最好的模块之一,它是积极维护和良好的文档。