Programing

Node.js가있는 MySQL

lottogame 2020. 2. 27. 22:03
반응형

Node.js가있는 MySQL


방금 Node.js를 시작했습니다. 나는 PHP 배경에서 왔으므로 모든 데이터베이스 요구에 MySQL을 사용하는 데 상당히 익숙합니다.

Node.js에서 MySQL을 어떻게 사용합니까?


node.js 모듈 목록을 확인하십시오

  • node-mysql — MySQL 프로토콜을 구현하는 node.js 모듈
  • node-mysql2 — 또 다른 순수한 JS 비동기 드라이버입니다. 파이프 라인, 준비된 진술.
  • node-mysql-libmysqlclient — libmysqlclient를 기반으로하는 MySQL 비동기 바인딩

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 데이터베이스 작업에 사용되는 가장 좋은 모듈 중 하나 일 것입니다.


이것은 업데이트를 추가하는 오래된 스레드이므로 다음과 같습니다.

MySQL node.js 드라이버를 설치하려면

그냥 실행하는 경우 npm install mysql서버를 실행하는 디렉토리와 같은 디렉토리에 있어야합니다. 다음 예제 중 하나와 같이 수행하는 것이 좋습니다.

글로벌 설치의 경우 :

npm install -g mysql

로컬 설치의 경우 :

1- package.json의존성에 추가하십시오 :

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

2 회 npm install


연결이 이루어 지려면 mysql 서버 (노드 독립형)도 실행해야합니다.

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/


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.js 드라이버 인 MySQL Connector / Node.js를 사용해보십시오. 자세한 설명 ref-1ref-2 를 참조하십시오. here 에서 사용할 수있는 mysqljs / mysql을 시도했지만 이 라이브러리의 클래스, 메소드, 속성에 대한 자세한 문서를 찾지 못했습니다.

그래서 표준으로 전환 MySQL Connector/Node.jsX 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);
});

또한 여러 데이터베이스 엔진에 공통 프레임 워크를 제공하기 위해 Node.js DB 라는 새로운 노력을 시도 할 수 있습니다 . C ++로 빌드되므로 성능이 보장됩니다.

특히 Node.js MySQL 지원을 위해 db-mysql 드라이버를 사용할 수 있습니다 .


라이브러리를 설치하여 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 연결 및 쿼리 예

참고 URL : https://stackoverflow.com/questions/5818312/mysql-with-node-js



반응형