MySQL z węzłem.js

Właśnie zacząłem wchodzić do Node.js. Pochodzę z tła PHP, więc jestem dość przyzwyczajony do korzystania z MySQL dla wszystkich moich potrzeb bazy danych.

Jak mogę używać MySQL z Node.js?

 362
Author: Mark Amery, 2011-04-28

8 answers

Zobacz węzeł .lista modułów js

Node-mysql wygląda dość prosto:

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'example.org',
  user     : 'bob',
  password : 'secret',
});

connection.connect(function(err) {
  // connected! (unless `err` is set)
});

Queries:

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'
 421
Author: mak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-02 18:53:36

Node-mysql jest prawdopodobnie jednym z najlepszych modułów używanych do pracy z bazą danych MySQL, która jest aktywnie utrzymywana i dobrze udokumentowana.

 28
Author: yojimbo87,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-28 14:17:19

Ponieważ jest to stary wątek, wystarczy dodać update:

Aby zainstalować węzeł MySQL.js driver:

Jeśli uruchamiasz tylko npm install mysql, Musisz być w tym samym katalogu, w którym uruchamiasz serwer. Radzę zrobić to jak w jednym z poniższych przykładów:

Dla instalacji globalnej:

npm install -g mysql

Dla instalacji lokalnej:

1-dodaj go do swojego package.json w zależności:

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

2 - run npm install


Zauważ, że aby doszło do połączenia, będziesz należy również uruchomić serwer mysql (który jest niezależny od węzła)

Aby zainstalować serwer MySQL:

Istnieje kilka samouczków, które wyjaśniają to, i jest to trochę zależne od systemu operacyjnego. Wystarczy wejść do google i wyszukać how to install mysql server [Ubuntu|MacOSX|Windows]. Ale w zdaniu: musisz iść do http://www.mysql.com/downloads / i zainstaluj go.

 19
Author: fmsf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-01 11:43:13

Oto kod produkcyjny, który może Ci pomóc.

Pakiet.json

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

Oto plik serwera.

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

Odniesienie: https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/

 10
Author: Shaikh Shahid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-23 14:01:09

Możesz również wypróbować nowszy wysiłek znany jako Node.js DB , który ma na celu zapewnienie wspólnego frameworka dla kilku silników bazodanowych. Jest zbudowany z C++, więc wydajność jest gwarantowana.

W szczególności możesz użyć jego sterownika db-mysql dla węzła .obsługa JS MySQL .

 2
Author: Mariano Iglesias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-20 23:43:48

KnexJs może być używany jako konstruktor zapytań SQL w obu węzłach.JS i przeglądarka. Uważam, że jest łatwy w użyciu. Spróbujmy - 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'
  }
});

Możesz go używać w ten sposób

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

Lub

knex('users').where({
  first_name: 'Test',
  last_name:  'User'
}).select('id')
 2
Author: Quy Tang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-13 08:08:19

Podłącz bazę danych mysql, instalując bibliotekę. tutaj wybraliśmy stabilny i łatwy w użyciu moduł 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();

Dla NodeJS mysql łączenie i zapytanie przykład

 0
Author: Prabin Tp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-04 21:07:47
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;

Follow the link http://datainflow.com/nodejs-mysql-connectivity/

 -1
Author: ujjal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-22 16:36:39