COMO CONECTAR NODEJS CON MYSQL
Para poder conectarse a MySQL desde NodeJS lo primero que hay que hacer es importar el paquete de mysql para nodeJS: "npm install mysql2 --save" y ahora viene el ejemplo:- Lo primero es crear el fichero, dentro de la carpeta "database", con la conexión a MySQL
//Se importa el módulo de mysql para usarlo const mysql = require('mysql2/promise'); //Se definen los datos de conexión a la bbdd const MysqlData = { host: 'nombre_basedatos', user: 'root', password: '', database: 'nombre_basedatos' } //Se establece la conexión a la bbdd let connectionToMySQL = mysql.createPool(MysqlData); //Se exporta la variable "connectionToMySQL " para poder usar la conexión a la base de datos donde se necesite module.exports = connectionToMySQL; - Suponiendo que se tiene un fichero index con varios endpoints la llamada de la base de datos sería:
//Importar dependencias const express = require("express"); const cors = require("cors"); //Se importa el codigo del ejemplo antrerior "connectionMySQL" const connectionMySQL = require("./database/connectionMysql"); //Resto del codigo ... // Endpoint para obtener los artículos app.get("/articles", async (req, res) => { let connection; try { console.log("Ejecutando endpoint /articles"); // Obtener una conexión del pool connection = await connectionMySQL.getConnection(); // Ejecutar la consulta const [results] = await connection.execute("SELECT * FROM articles"); console.log("Artículos en la base de datos:"); console.table(results); //Muestra un campo en concreto console.table(results.nombreCampo); // Enviar los resultados como respuesta return res.status(200).json({ status: "success", data: results }); } catch (err) { console.error("Error ejecutando consulta:", err); return res.status(500).json({ status: "error", message: "Error al obtener los artículos", error: err.message }); } finally { if (connection) connection.release(); console.log("Conexión liberada"); } }); - Para ver un ejemplo limpio. Podéis renombrar vuestro index.js y crearos otro con el código:
const connectionMySQL = require("./database/connectionMysql"); connection = await connectionMySQL.getConnection(); const [results] = await connection.execute("SELECT * FROM articles"); console.log("Artículos en la base de datos:"); console.table(results);