logo oujood
🔍

Node.js et MySQL : Utilisation de SELECT FROM

Node.js, MySQL, SELECT FROM, récupération de données, base de données, tutoriel

OUJOOD.COM

Introduction

L'une des opérations les plus fréquentes sur une base de données MySQL est la récupération de données. Cette action est réalisée grâce à l'instruction SELECT, qui correspond à la lettre "R" (Read) de l'acronyme CRUD. Cet article vous explique comment utiliser SELECT FROM avec Node.js pour interagir avec une base MySQL.

Exemple : Récupérer des colonnes spécifiques

Voici un exemple où l'on récupère deux colonnes spécifiques (name et salary) de la table employee :

📋 Copier le code

var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});

var qry = `SELECT name, salary FROM employee;`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(results);
});
con.end();
});

Explication :

  • require('mysql') : Charge le module MySQL pour interagir avec la base de données.
  • createConnection : Initialise une connexion avec les informations de l'hôte, de l'utilisateur, du mot de passe et de la base de données.
  • connect : Établit une connexion au serveur MySQL.
  • con.query(qry, callback) : Exécute la requête SQL définie dans qry et retourne les résultats sous forme d'un tableau.
  • console.log(results) : Affiche les données récupérées dans la console Node.js.
  • con.end() : Ferme la connexion une fois la requête terminée.

Exemple : Conversion en JSON

Pour afficher les résultats sous forme de chaîne JSON, utilisez JSON.stringify() :

📋 Copier le code

var qry = `SELECT name, salary FROM employee;`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(JSON.stringify(results));
});
con.end();
});

Explication :

  • JSON.stringify(results) : Convertit les données récupérées en une chaîne JSON. Cela est utile pour un affichage structuré ou pour envoyer des données à un client.
  • La sortie affichera les résultats comme une liste d'objets JSON avec des paires clé-valeur, ce qui est plus lisible et compatible avec les API.

Exemple : Récupérer toutes les colonnes

Pour récupérer toutes les colonnes d'une table, utilisez le caractère astérisque (*) :

📋 Copier le code

var qry = `SELECT * FROM employee;`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
results.forEach(row => {
console.log(`ID: ${row.id}, NAME: ${row.name}, AGE: ${row.age}, SALARY: ${row.salary}`);
});
});
con.end();
});

Explication :

  • SELECT * : Indique que toutes les colonnes doivent être récupérées.
  • results.forEach() : Itère sur chaque ligne de résultats.
  • Les noms des colonnes (par ex. id, name, age, etc.) sont utilisés comme clés pour accéder à leurs valeurs dans chaque ligne.
  • La boucle affiche chaque ligne sous une forme lisible dans la console.

Comprendre les colonnes calculées en SQL

Qu'est-ce qu'une colonne calculée ?

Une colonne calculée (ou colonne dérivée) dans une base de données est une colonne qui ne stocke pas directement de données, mais dont la valeur est générée dynamiquement à partir d'une expression ou d'un calcul basé sur d'autres colonnes de la table. Ces colonnes sont particulièrement utiles pour :

  • Effectuer des opérations mathématiques sur les données existantes.
  • Combiner ou transformer des données textuelles.
  • Calculer des statistiques ou des ratios en temps réel.

Exemple simple de colonne calculée

Imaginons une table produits contenant les colonnes suivantes :

  • prix : Le prix de chaque produit.
  • quantite : La quantité disponible pour chaque produit.

Pour calculer la valeur totale en stock (c'est-à-dire prix * quantite), utilisez la requête suivante :

SELECT nom_produit, prix, quantite, (prix * quantite) AS valeur_stock FROM produits;

Résultat :

nom_produit prix quantite valeur_stock
Chaise 50 10 500
Table 100 5 500
Canapé 300 2 600

Exemple avec Node.js et MySQL

Voici comment utiliser une colonne calculée dans une requête SQL avec Node.js :

📋 Copier le code

var mysql = require('mysql');

var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "boutique"
});

var qry = `
SELECT 
nom_produit, 
prix, 
quantite, 
(prix * quantite) AS valeur_stock 
FROM produits;
`;

con.connect(function (err) {
if (err) throw err;
console.log("Connexion réussie !");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(JSON.stringify(results));
});
con.end();
});

Explication :

  • Connexion MySQL : Le script établit une connexion à la base de données en utilisant les informations fournies.
  • Requête SQL : La requête sélectionne les colonnes nom_produit, prix, quantite, et calcule dynamiquement la colonne valeur_stock.
  • Résultat formaté : Les données sont affichées en JSON, prêtes à être utilisées dans une application.

Exemple : Ajouter une colonne calculée

Voici comment ajouter une colonne calculée avec un alias :

📋 Copier le code

var qry = `SELECT name, salary, salary * 0.05 AS tax FROM employee;`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, results) {
if (err) throw err;
console.log(JSON.stringify(results));
});
con.end();
});

Explication :

  • salary * 0.05 : Calcule une taxe de 5 % sur le salaire de chaque employé.
  • AS tax : Attribue un alias à la colonne calculée pour faciliter son identification dans les résultats.
  • Les résultats affichent chaque employé avec son nom, son salaire et le montant calculé de la taxe.