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 :
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 dansqryet 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() :
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 (*) :
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 :
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 colonnevaleur_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 :
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.