com o que você acabou indo? há alguma informação boa abaixo, eu estaria interessado em ouvir o que suas experiências foram
Landon
7
O @Landon, na verdade, foi com o node-mysql por algumas razões, principalmente porque está em desenvolvimento bastante ativo e parece ser o mais amplamente usado. Eu também gosto muito da multipleStatementsfunção.
crawf
@crawf O que você prefere, PHP ou Node.js? Eu pulei em PHP / MySQL, mas estou pensando em mudar para o nó uma vez que seria prolly sente muito mais natural considerando a sintaxe é JS sintaxe
Oldboy
11
@Anthony Preferência pessoal Suponho que depende do ecossistema em que você está se desenvolvendo, se você está em uma equipe etc. e trabalho de back-end. Eu diria que se você tiver tempo para dar uma chance ao Node, e ele é ótimo emparelhado com coisas como socket.io para soquetes da web em tempo real.
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'
+1 para node-mysql também. O que pode melhor do que apenas requireing uma biblioteca javascript
Alex K
4
@KevinLaity Fiquei com a impressão de que o node-mysql ainda não possui instruções preparadas implementadas. A sintaxe é parecida . Em vez disso, parece que, por enquanto, caracteres especiais estão sendo escapados.
funseiki
4
Além disso, você pode obter o nome do seu banco de dados adicionando 'banco de dados' ao objeto de conexão
felipekm
29
O node-mysql é provavelmente um dos melhores módulos usados para trabalhar com o banco de dados MySQL, que é mantido ativamente e bem documentado.
Como esse é um thread antigo, basta adicionar uma atualização:
Para instalar o driver node.js do MySQL:
Se você executar apenas npm install mysql, precisará estar no mesmo diretório que o seu servidor. Eu recomendaria fazê-lo como em um dos seguintes exemplos:
Para instalação global:
npm install -g mysql
Para instalação local:
1- Adicione ao seu package.jsonnas dependências:
"dependencies":{"mysql":"~2.3.2",...
2- executar npm install
Observe que, para que as conexões aconteçam, você também precisará estar executando o servidor mysql (que é independente do nó)
Para instalar o servidor MySQL:
Existem vários tutoriais por aí que explicam isso, e isso depende um pouco do sistema operacional. Basta ir ao google e procurar how to install mysql server [Ubuntu|MacOSX|Windows]. Mas em uma frase: você precisa ir para http://www.mysql.com/downloads/ e instalá-lo.
Este código parece estragado .. muitos erros incluindoCannot read property 'release' of undefined
Pacerier
4
Imo, você deve tentar o MySQL Connector / Node.js, que é o driver oficial do Node.js. para o MySQL. Veja ref-1 e ref-2 para explicação detalhada. Eu tentei o mysqljs / mysql, que está disponível aqui , mas não encontro documentação detalhada sobre classes, métodos, propriedades desta biblioteca.
Então, mudei para o padrão MySQL Connector/Node.jscom X DevAPI, pois é uma biblioteca de clientes assíncrona baseada em Promise e fornece boa documentação. Dê uma olhada no seguinte trecho de código:
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);});
Você também pode tentar um novo esforço conhecido como Node.js DB, que visa fornecer uma estrutura comum para vários mecanismos de banco de dados. Ele é construído com C ++ para garantir o desempenho.
Especificamente, você pode usar seu driver db-mysql para suporte ao Node.js. MySQL .
O node-db não é mais suportado (inativo por 8 meses, usa o node-waf descontinuado) e a instalação falhou para mim.
Yogu
18
"Ele é construído com C ++ para garantir o desempenho" - o simples uso do C ++ não garante o desempenho, mas ainda precisa ser programado corretamente.
developerbmw
Não é apenas o node-db não suportado, o link está morto - redirecionado para algum tipo de site de anúncio agora. Downvoting.
Nurdglaw
2
@Mariano, Link Down
Pacerier
0
conecte o banco de dados 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();
Tanto quanto sei, os lançamentos alfa nunca devem ser considerados "estáveis". Corrija-me se eu estiver errado. O Alpha tem a possibilidade de alterar drasticamente sua API antes de ir para a final, o que é altamente indesejado no código de produção (e até desenvolvimento). Ou seja, se a numeração da versão seguir as diretrizes do semver.org .
Robin van Baalen
11
aspas "inteligentes" ('') não são tão inteligentes em arquivos js.
glyph
Eu gosto desse comentário porque mostra onde colocar o nome do banco de dados
Boris Ivanov
0
Você pode pular o ORM, construtores, etc. e simplificar o gerenciamento de DB / SQL usando sqlere sqler-mdb.
-- create this file at: db/mdb/setup/create.database.sqlCREATEDATABASEIFNOTEXISTS sqlermysql
const conf ={"univ":{"db":{"mdb":{"host":"localhost","username":"admin","password":"mysqlpassword"}}},"db":{"dialects":{"mdb":"sqler-mdb"},"connections":[{"id":"mdb","name":"mdb","dir":"db/mdb","service":"MySQL","dialect":"mdb","pool":{},"driverOptions":{"connection":{"multipleStatements":true}}}]}};// create/initialize managerconst manager =newManager(conf);await manager.init();// .sql file path is path to db functionconst result =await manager.db.mdb.setup.create.database();
console.log('Result:', result);// after we're done using the manager we should close it
process.on('SIGINT',asyncfunction sigintDB(){await manager.close();
console.log('Manager has been closed');});
multipleStatements
função.Respostas:
Confira a lista de módulos node.js.
O node-mysql parece bastante simples:
Consultas:
fonte
require
ing uma biblioteca javascriptO node-mysql é provavelmente um dos melhores módulos usados para trabalhar com o banco de dados MySQL, que é mantido ativamente e bem documentado.
fonte
Como esse é um thread antigo, basta adicionar uma atualização:
Para instalar o driver node.js do MySQL:
Se você executar apenas
npm install mysql
, precisará estar no mesmo diretório que o seu servidor. Eu recomendaria fazê-lo como em um dos seguintes exemplos:Para instalação global:
Para instalação local:
1- Adicione ao seu
package.json
nas dependências:2- executar
npm install
Observe que, para que as conexões aconteçam, você também precisará estar executando o servidor mysql (que é independente do nó)
Para instalar o servidor MySQL:
Existem vários tutoriais por aí que explicam isso, e isso depende um pouco do sistema operacional. Basta ir ao google e procurar
how to install mysql server [Ubuntu|MacOSX|Windows]
. Mas em uma frase: você precisa ir para http://www.mysql.com/downloads/ e instalá-lo.fonte
npm install --save mysql
irá instalá-lo e adicioná-lo ao seupackage.json
automaticamenteAqui está o código de produção que pode ajudá-lo.
Package.json
Aqui está o arquivo do servidor.
Referência: https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/
fonte
Cannot read property 'release' of undefined
Imo, você deve tentar o MySQL Connector / Node.js, que é o driver oficial do Node.js. para o MySQL. Veja ref-1 e ref-2 para explicação detalhada. Eu tentei o mysqljs / mysql, que está disponível aqui , mas não encontro documentação detalhada sobre classes, métodos, propriedades desta biblioteca.
Então, mudei para o padrão
MySQL Connector/Node.js
comX DevAPI
, pois é uma biblioteca de clientes assíncrona baseada em Promise e fornece boa documentação. Dê uma olhada no seguinte trecho de código:fonte
KnexJs pode ser usado como um construtor de consultas SQL no Node.JS e no navegador. Acho fácil de usar. Vamos tentar - Knex.js
Você pode usá-lo assim
ou
fonte
Você também pode tentar um novo esforço conhecido como Node.js DB, que visa fornecer uma estrutura comum para vários mecanismos de banco de dados. Ele é construído com C ++ para garantir o desempenho.
Especificamente, você pode usar seu driver db-mysql para suporte ao Node.js. MySQL .
fonte
conecte o banco de dados mysql instalando uma biblioteca. aqui, escolheu o módulo node-mysql estável e fácil de usar.
Para o NodeJS mysql, exemplo de conexão e consulta
fonte
Você pode pular o ORM, construtores, etc. e simplificar o gerenciamento de DB / SQL usando
sqler
esqler-mdb
.fonte