OUJOOD.COM
Dans ce tutoriel, nous allons automatiser complètement la création de la base de données MySQL et apprendre à trier vos données avec la clause ORDER BY dans une application Node.js.
Prérequis
Avant de commencer, assurez-vous d'avoir installé les outils suivants :
- Node.js et npm (Télécharger ici)
- Un serveur MySQL (Télécharger ici)
Dans ce tutoriel complet, découvrez comment utiliser la clause ORDER BY en SQL pour trier vos données dans une application Node.js connectée à une base de données MySQL. Ce guide est conçu pour les débutants comme pour les développeurs avancés.
Introduction à la Clause ORDER BY
La clause ORDER BY est utilisée en SQL pour trier les résultats d'une requête selon une ou plusieurs colonnes. Vous pouvez trier par ordre croissant (ASC) ou décroissant (DESC).
Mots-clés Importants
- ORDER BY : Clause SQL pour trier les résultats.
- ASC : Tri par ordre croissant (par défaut).
- DESC : Tri par ordre décroissant.
Étape 1 : Préparer votre Environnement
Avant de commencer, assurez-vous d'avoir les outils suivants installés :
- Node.js et npm
- MySQL
Initialiser le Projet Node.js
Nous avons besoin d'un dossier pour notre projet. Pour créer ce dossier, dans le terminal tapez le code suivant:
mkdir nodejs-order-by-tutorial cd nodejs-order-by-tutorial npm init -y npm install mysql2
Explication :
mkdir: Crée un dossier pour votre projet. C'est dans ce dossier que seront stocker tous les fichiers du projetnpm init -y: Initialise un projet Node.js avec des paramètres par défaut.npm install mysql2: Installe la bibliothèquemysql2pour interagir avec MySQL.
Étape 2 : Créer la Base de Données et la Table
Créez un fichier appelé createDatabase.js et ajoutez-y le code suivant :
const mysql = require('mysql2');
// Configuration de la connexion
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: ''
});
function executeQuery(query, callback) {
connection.query(query, (err, results) => {
if (err) throw err;
console.log('Requête exécutée avec succès :', query);
callback();
});
}
executeQuery('CREATE DATABASE IF NOT EXISTS test_db', () => {
console.log('Base de données "test_db" créée.');
executeQuery('USE test_db', () => {
const createTableQuery = `
CREATE TABLE IF NOT EXISTS employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT,
hire_date DATE
)
`;
executeQuery(createTableQuery, () => {
console.log('Table "employees" créée.');
connection.end();
});
});
});
Explication :
CREATE DATABASE IF NOT EXISTS test_db: Crée une base de données si elle n'existe pas déjà.CREATE TABLE IF NOT EXISTS employees: Crée une table avec des champs spécifiques.
Exécutez le script dans le terminal avec le code suivant :
node createDatabase.js
Étape 3 : Insérer des Données
Pour ajoutez du contenu à votre table, créez un fichier "insertData.js" avec ce script :
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'test_db'
});
connection.connect((err) => {
if (err) throw err;
console.log('Connecté à la base de données MySQL !');
const insertDataQuery = `
INSERT INTO employees (name, age, hire_date) VALUES
('Alice', 30, '2020-05-15'),
('Bob', 25, '2019-08-20'),
('Charlie', 35, '2018-03-10')
`;
connection.query(insertDataQuery, (err, results) => {
if (err) throw err;
console.log('Données insérées avec succès.');
connection.end();
});
});
Explication :
INSERT INTO employees: Ajoute des lignes dans la tableemployees.
Exécutez le script dans le terminal avec le code suivant :
node insertData.js
Étape 4 : Utiliser ORDER BY
Tri Ascendant (ASC)
Exemple de tri par âge croissant :
Pour ajoutez du contenu à votre table, créez un fichier "orderByAsc.js" avec ce script :
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'test_db'
});
connection.connect((err) => {
if (err) throw err;
console.log('Connecté à la base de données MySQL !');
const query = 'SELECT * FROM employees ORDER BY age ASC';
connection.query(query, (err, results) => {
if (err) throw err;
console.log('Résultats triés par âge (ascendant) :', results);
connection.end();
});
});
Explication :
ORDER BY age ASC: Trie les résultats par la colonneageen ordre croissant.
Exécutez le script dans le terminal avec le code suivant :
node orderByAsc.js
Tri Descendant (DESC)
Exemple de tri par date d'embauche décroissante :
Pour ajoutez du contenu à votre table, créez un fichier "orderByDesc.js" avec ce script :
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'test_db'
});
connection.connect((err) => {
if (err) throw err;
console.log('Connecté à la base de données MySQL !');
const query = 'SELECT * FROM employees ORDER BY hire_date DESC';
connection.query(query, (err, results) => {
if (err) throw err;
console.log('Résultats triés par date d\'embauche (descendant) :', results);
connection.end();
});
});
Explication :
ORDER BY hire_date DESC: Trie les résultats par la colonnehire_dateen ordre décroissant.
Exécutez le script dans le terminal avec le code suivant :
node orderByDesc.js
Bonnes Pratiques
- Sécurité : Évitez de stocker des informations sensibles directement dans votre code.
- Optimisation : Utilisez des index sur les colonnes fréquemment utilisées dans les clauses
ORDER BY.
Conclusion
Avec ce tutoriel, vous avez appris à utiliser la clause ORDER BY pour trier vos données dans une application Node.js connectée à MySQL. Explorez davantage les possibilités de SQL pour améliorer vos requêtes et automatiser vos processus.