Cómo conectarse a MySQL con Node.js

GuíasAplicacionesBases de datosJavascriptMySQLNode.jsProgramacionServidoresSQLTipos de aplicación

Vamos a ver cómo te puedes conectar a una base de datos MySQL usando Node.js, el famoso entorno de ejecución de JavaScript.

Antes de comenzar, es importante destacar que debes tener Node.js instalado en tu sistema. Del mismo modo, debes crear una base de datos MySQL.

Crea una base de datos MySQL

Si todavía no lo has hecho, puedes crear la base de datos del modo que más te guste. Puedes crearla mediante aplicaciones como phpMyAdmin o también manualmente mediante la línea de comandos de MySQL. Para crearla mediante la línea de comandos debes seguir estos pasos:

Conéctate a MySQL desde la línea de comandos e introduce la contraseña cuando se te pida:

mysql -u USUARIO -p

Crea una tabla de ejemplo, a la que en este caso llamaremos empleados:

CREATE DATABASE empleados;

Selecciona la base de datos que acabas de crear:

USE empleados;

Crea una tabla en la base de datos:

CREATE TABLE IF NOT EXISTS empleados (
  id int(11) NOT NULL AUTO_INCREMENT,
  nombre varchar(50),
  PRIMARY KEY (id)
);

Inserta algunos datos de ejemplo en la tabla:

INSERT INTO empleados (nombre) VALUES ("Eduardo");
INSERT INTO empleados (nombre) VALUES ("Javier");
INSERT INTO empleados (nombre) VALUES ("Sara");

Ahora ya podrás ejecutar consultas sobre la tabla.

Instala node-mysql

Tendrás que tener instalado el paquete node-mysql, por lo que si no lo tienes instalado, tendrás que hacerlo. Para ello debes utilizar el gestor de paquetes npm:

npm install mysql

Tras instalar node-mysql ya podrás conectarte a la base de datos mediante Node.js.

Establece la conexión a MySQL

Crea un script de Node.js. Lo primero que hacemos en este ejemplo es crear un objeto de conexión a hacia la base de datos MySQL. Utilizamos la tabla empleados a modo de ejemplo, pero debes reemplazarla por el nombre de la base de datos que quieras utilizar. Del mismo modo, reemplaza USUARIO y PASS por los datos de usuario de MySQL.

var mysql = require('mysql');
var conexion= mysql.createConnection({
    host : 'localhost',
    database : 'empleados',
    user : 'USUARIO',
    password : 'PASS',
});

conexion.connect(function(err) {
    if (err) {
        console.error('Error de conexion: ' + err.stack);
        return;
    }
    console.log('Conectado con el identificador ' + conexion.threadId);
});

Una vez se establecida la conexión ya podrás ejecutar consultas mediante el método query:

conexion.query('SELECT * FROM empleados', function (error, results, fields) {
    if (error)
        throw error;

    results.forEach(result => {
        console.log(result);
    });
});

Por último, finaliza la conexión:

connection.end();

Y esto ha sido todo. Si quieres más información de node-mysql, te recomendamos que consultas esta guía.