Conectar NodeJS y MySQL 2022


La conexion entre NodeJS y Mysql sirve para gestionar una base de datos, extraer datos o mostrar datos, etc que esten en una base de datos Mysql, tambien si queremos hacer alguna aplicacion o sistema son NodeJS.

NodeJS es un lenguaje de programacion Popular que utiliza en su mayoria lenguaje y sintaxis de javascript, pero mejorando muchas cosas como pueden ser asincronia, manejo del sistema de archivos, dispositivos y mucho mas.

Aqui veremos como usar el conector de mysql de nodejs para administrar o gestionar una base de datos mysql.

Lo primero que debemos hacer es instalr nodejs, npm y mysql para nodejs.

Tambien tenemos que tener un servidor mysql al cual conectarnos, en nuestro caso tenemos el mysql que usamos para PHP, pero este lo podemos usar con cualquier lenguaje de programacion como Java, Php, Python y en este caso NodeJS.

sudo apt-get install nodejs # instalar nodejs 
sudo apt-get install npm # instalar el NodeJs Package Manager o NPM
npm install mysql # instalar el modulo o paquete de Mysql para mysql

En nuestro caso estamos usando Linux, pero en Windows debes instalar los ejecutables de Node y NPM, cuando tengas node y NPM ya todo lo tienes que hacer desde la terminal y con codigo como seguiremos a continuacion.

Base de datos

La base de datos tiene solo una tabla y tiene la siguiente estructura.

create database prueba;
use prueba;

create table persona(
id int not null auto_increment primary key, 
name varchar(255), 
phone varchar(255), 
created_at datetime
);

Codigo

El nombre de nuestro codigo de ejemplo sera mysql1.js y pondremos todo el siguiente codigo.

En esta parte creamos la conexion a la base de datos, es importante agregar los valores de host, user, password y database.

var mysql = require("mysql");

	///////////// Crear la Conexion

var con = mysql.createConnection({
	host: "localhost",
	user: "evilnapsis",
	password: "A123456Z",
	database: "prueba",
    dateStrings:true,
});
	///////////////////////////////////

con.connect(function(err){
	if(err) throw err; // Si hay un error lo mostramos y termina el script
	console.log("Conectado!");
	///////////// Insertar Datos
	var sql1 = "insert into persona (name, phone, created_at) value('Nombre', '123456789', NOW());" ; // Consulta SQL para insertar datos
	con.query(sql1, function(err, result){
		if(err) throw err; // Si hay un error lo mostramos y termina el script
		console.log("Datos insertados!");
	});
	///////////////////////////////////
	///////////// Mostrar Datos
	var sql2 = "select * from persona"; // Consulta SQL para mostrar datos
	con.query(sql2, function(err, result, fields){
		if(err) throw err; // Si hay un error lo mostramos y termina el script
		console.log("Mostrar datos!");

		result.forEach(function(row){
			console.log(row.id + " | " + row.name + " | "+ row.phone + " | " + row.created_at); // Se muestran los datos en la consola/terminal
		});
	});
	///////////////////////////////////
	///////////// Cerrar la conexion

	con.end()
});

Este escript hay una seccion de conexion, una de insertar datos y luego una seccion de mostrar datos, para filnalizar con cerrar la conexion.

Resultado

El resultado al Ejecutar el script es el siguiente.