Accediendo a MySQL con node.js
Es muy extraño ver una aplicación node.js que no haga uso de una solución NoSQL, pero puede presentarse el caso de tener que acceder a una base de datos legacy y casi con seguridad esa DB sea MySQL, el estado de los modulos MySQL en node.js, es muy dispar, pero hay un proyecto liderado por Felix Geisendörfer al que vengo siguiendo desde hace un tiempo, es al que mas fe le tenia, mas que nada, porque cuenta con el patrocinio de Joyent que ha tomado a node.js como algo estratégico para su plan de negocios.
El modulo que estoy usando es node-mysql, el cual es una implementación del protocolo MySQL escrito 100% con node.js, la forma mas fácil de instalarlo es usando npm.
# Instalando node-mysql y sus dependencias vía npm npm install mysql
El modulo aunque ya esta siendo usando por algunos en producción y las funcionas básicas ya están implementadas, no esta etiquetado como estable, así que hay que tener un poco de cuidado si se quiere hacer uso de el.
Pasemos al ejemplo, como se ve en el código a continuación, la primera parte se encarga de cargar el modulo y todo lo relacionado a la conexión a la DB, luego paso la consulta que quiero ejecutar haciendo uso de client.query y para terminar creo una función que se encargara de mostrar los resultado en la consola o tirar un mensaje de error si algo no va bien.
var Client = require('mysql').Client, client = new Client(); client.user = 'root'; client.password = 'password'; client.host='127.0.01'; client.port='3306'; client.database='Oranje' client.connect(); client.query( 'SELECT * FROM players WHERE name LIKE "Minke%"', function selectPlayers(err, results, fields) { if (err) { console.log("Error: " + err.message); throw err; } console.log("Number of rows: "+results.length); console.log(results); client.end(); });
En la siguiente screenshot pueden ver la salida de datos en la consola.
En github pueden encontrar mas información acerca del proyecto, ademas de la documentación.
8 responses