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:
  1. 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;
    
  2. 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");
      }
    });
    
  3. 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);
    
Lo ideal es que el código esté en un controlador y en un modelo pero quería hacer un ejemplo rápido.