Node.jsに入り始めたばかりです。私はPHP背景から来ているので、データベースのすべてのニーズにMySQLを使用することにかなり慣れています。
MySQLをNode.jsと一緒に使用する方法
node-mysqlは十分にシンプルに見えます。
var mysql = require('mysql');
var connection = mysql.createConnection({
Host : 'example.org',
user : 'bob',
password : 'secret',
});
connection.connect(function(err) {
// connected! (unless `err` is set)
});
問い合わせ:
var post = {id: 1, title: 'Hello MySQL'};
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) {
// Neat!
});
console.log(query.sql); // INSERT INTO posts SET `id` = 1, `title` = 'Hello MySQL'
node-mysql はMySQLデータベースを扱うために使われている最も優れたモジュールの1つであり、積極的に管理され、文書化されています。
これはアップデートを追加するだけの古いスレッドなので。
npm install mysql
だけを実行する場合は、サーバーを実行するディレクトリと同じディレクトリにいる必要があります。次の例のいずれかのようにすることをお勧めします。
npm install -g mysql
1-依存関係のあなたのpackage.json
にそれを追加してください:
"dependencies": {
"mysql": "~2.3.2",
...
2- npm install
を実行
接続を確立するには、mysqlサーバー(ノードに依存しない)も実行している必要があります。
これを説明するたくさんのチュートリアルがそこにあります、そしてそれは手術システムに少し依存しています。 Googleにアクセスしてhow to install mysql server [Ubuntu|MacOSX|Windows]
を検索するだけです。しかし文で:あなたは http://www.mysql.com/downloads/ に行き、それをインストールしなければなりません。
これはあなたを助けるかもしれないプロダクションコードです。
Package.json
{
"name": "node-mysql",
"version": "0.0.1",
"dependencies": {
"express": "^4.10.6",
"mysql": "^2.5.4"
}
}
これがサーバーファイルです。
var express = require("express");
var mysql = require('mysql');
var app = express();
var pool = mysql.createPool({
connectionLimit : 100, //important
Host : 'localhost',
user : 'root',
password : '',
database : 'address_book',
debug : false
});
function handle_database(req,res) {
pool.getConnection(function(err,connection){
if (err) {
connection.release();
res.json({"code" : 100, "status" : "Error in connection database"});
return;
}
console.log('connected as id ' + connection.threadId);
connection.query("select * from user",function(err,rows){
connection.release();
if(!err) {
res.json(rows);
}
});
connection.on('error', function(err) {
res.json({"code" : 100, "status" : "Error in connection database"});
return;
});
});
}
app.get("/",function(req,res){-
handle_database(req,res);
});
app.listen(3000);
参照: https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/ /
Node.js DB として知られる新しい試みを試してみることもできます。これは、いくつかのデータベースエンジンに共通のフレームワークを提供することを目的としています。パフォーマンスが保証されているのでC++で構築されています。
具体的には、 Node.js MySQLサポート にdb-mysqlドライバを使用できます。
Imo、あなたはMySQL用の公式Node.jsドライバであるMySQL Connector/Node.jsを試してみるべきです。詳細な説明は ref-1 および ref-2 を参照してください。私はmysqljs/mysqlを試してみました。これは here ですが、このライブラリのクラス、メソッド、プロパティに関する詳細なドキュメントはありません。
それで私はMySQL Connector/Node.js
で標準的なX DevAPI
に切り替えました、なぜならそれは 非同期のPromiseベースの クライアントライブラリであり、良いドキュメントを提供するからです。次のコードスニペットを見てください。
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);
});
KnexJは、Node.JSとブラウザの両方でSQLクエリビルダーとして使用できます。私はそれが使いやすいと思います。試してみましょう - Knex.js
$ npm install knex --save
# Then add one of the following (adding a --save) flag:
$ npm install pg
$ npm install sqlite3
$ npm install mysql
$ npm install mysql2
$ npm install mariasql
$ npm install strong-Oracle
$ npm install Oracle
$ npm install mssql
var knex = require('knex')({
client: 'mysql',
connection: {
Host : '127.0.0.1',
user : 'your_database_user',
password : 'your_database_password',
database : 'myapp_test'
}
});
あなたはこれのようにそれを使うことができます
knex.select('*').from('users')
または
knex('users').where({
first_name: 'Test',
last_name: 'User'
}).select('id')
ライブラリをインストールしてMySQLデータベースに接続します。ここでは、安定して使いやすいnode-mysqlモジュールを選びました。
npm install [email protected]
var http = require('http'),
mysql = require('mysql');
var sqlInfo = {
Host: 'localhost',
user: 'root',
password: 'urpass',
database: 'dbname'
}
client = mysql.createConnection(sqlInfo);
client.connect();