MySQL com o Node.js

Eu comecei a entrar no Node.js. Eu venho de um background em PHP, então estou bastante acostumado a usar o MySQL para todas as minhas necessidades de database.

Como posso usar o MySQL com o Node.js?

Confira a lista de módulos node.js

  • node-mysql – Um módulo node.js implementando o protocolo MySQL
  • node-mysql2 – Ainda outro driver asynchronous JS puro. Pipelining, declarações preparadas.
  • node-mysql-libmysqlclient – Ligações assíncronas do MySQL baseadas em libmysqlclient

O node-mysql parece bastante simples:

 var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'example.org', user : 'bob', password : 'secret', }); connection.connect(function(err) { // connected! (unless `err` is set) }); 

Consultas:

 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' 

O node-mysql é provavelmente um dos melhores módulos usados ​​para trabalhar com o database MySQL, que é mantido ativamente e bem documentado.

Como este é um segmento antigo, basta adicionar uma atualização:

Para instalar o driver node.js do MySQL:

Se você executar apenas o npm install mysql , você precisa estar no mesmo diretório que o seu servidor. Eu aconselharia fazê-lo como em um dos exemplos a seguir:

Para instalação global:

 npm install -g mysql 

Para instalação local:

1- Adicione ao seu package.json nas dependencies:

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

2- execute a npm install


Note que para conexões acontecer você também precisará rodar o servidor mysql (que é independente do nó)

Para instalar o servidor MySQL:

Há um monte de tutoriais por aí que explicam isso, e é um pouco dependente do sistema operacional. Basta ir ao google e procurar how to install mysql server [Ubuntu|MacOSX|Windows] . Mas em uma frase: você tem que ir para http://www.mysql.com/downloads/ e instalá-lo.

Aqui está o código de produção que pode ajudá-lo.

Package.json

 { "name": "node-mysql", "version": "0.0.1", "dependencies": { "express": "^4.10.6", "mysql": "^2.5.4" } } 

Aqui está o arquivo do servidor.

 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); 

Referência: https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/

Você também pode experimentar um novo esforço conhecido como Node.js DB, que visa fornecer uma estrutura comum para vários mecanismos de database. Ele é construído com C ++, portanto, o desempenho é garantido.

Especificamente, você poderia usar seu driver db-mysql para o suporte a Node.js MySQL .

O KnexJs pode ser usado como um construtor de consulta SQL no Node.JS e no navegador. Eu acho fácil de usar. Vamos tentar – 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' } }); 

Você pode usá-lo assim

 knex.select('*').from('users') 

ou

 knex('users').where({ first_name: 'Test', last_name: 'User' }).select('id') 

Conecte o database mysql instalando uma biblioteca. aqui, escolheu o módulo node-mysql estável e fácil de usar.

 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(); 

Para NodeJS mysql conectando e consultando o exemplo

 var express = require('express'); var router = express.Router(); /* GET home page. */ var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "****", database: "nodejs" }); con.connect(function(err) { if (err) throw err; console.log("Connected!"); }); module.exports = con; 

Siga o link http://datainflow.com/nodejs-mysql-connectivity/