Node.js - MySQL Guide de Début

Bonjour, futurs programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde de Node.js et MySQL. En tant que votre enseignant de science informatique de quartier, je suis là pour vous guider à travers cette aventure étape par étape. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - nous allons commencer depuis le début et construire nos connaissances ensemble.

Node.js - MySQL Get Started

Installation de MySQL

Avant de plonger dans la programmation, nous devons configurer nos outils. Pensez à cela comme préparer votre cuisine avant de cuisiner un plat délicieux. Le premier ingrédient dont nous avons besoin est MySQL.

Qu'est-ce que MySQL ?

MySQL est comme un classeur super-organisé pour vos données. C'est un système de gestion de base de données qui vous aide à stocker, organiser et récupérer des informations efficacement. Imaginez si vous deviez suivre des milliers de livres dans une bibliothèque uniquement avec un stylo et du papier - ce serait un cauchemar ! MySQL fait ce travail pour nous, mais avec des données informatiques au lieu de livres.

Installation de MySQL

  1. Visitez le site officiel de MySQL (https://dev.mysql.com/downloads/).
  2. Téléchargez le serveur MySQL Community adapté à votre système d'exploitation.
  3. Exécutez l'installateur et suivez les instructions à l'écran.
  4. pendant l'installation, vous serez invité à définir un mot de passe root. Souvenez-vous de ce mot de passe - c'est comme la clé maîtresse de votre royaume des données !

Une fois installé, vous pouvez vérifier l'installation en ouvrant une invite de commandes ou un terminal et en tapant :

mysql --version

Si vous voyez un numéro de version, félicitations ! Vous avez successfully installé MySQL.

Driver MySQL pour Node.js

Maintenant que nous avons notre système de base de données prêt, nous avons besoin d'un moyen pour Node.js de communiquer avec MySQL. C'est là que le driver MySQL entre en jeu. Pensez à cela comme un traducteur qui aide Node.js et MySQL à se comprendre.

Installation du Driver MySQL

Pour installer le driver MySQL, nous allons utiliser npm (Node Package Manager). C'est comme un magasin d'applications pour les packages Node.js. Ouvrez votre terminal et tapez :

npm install mysql

Cette commande indique à npm de télécharger et d'installer le package mysql pour nous. Facile, n'est-ce pas ?

Établir une Connexion

Nous en arrivons à la partie passionnante - connecter Node.js à MySQL ! C'est comme présenter deux amis et les aider à se serrer la main.

Connexion de Base

Voici notre premier morceau de code pour établir une connexion :

const mysql = require('mysql');

const connection = mysql.createConnection({
host: 'localhost',
user: 'yourusername',
password: 'yourpassword',
database: 'yourdatabase'
});

connection.connect((err) => {
if (err) {
console.error('Erreur de connexion à la base de données:', err);
return;
}
console.log('Connecté à la base de données !');
});

Reprenons cela :

  1. const mysql = require('mysql'); - Cette ligne importe le driver MySQL que nous avons installé plus tôt.

  2. const connection = mysql.createConnection({...}); - Ici, nous créons un objet de connexion. C'est comme remplir un formulaire avec les détails nécessaires pour accéder à notre base de données MySQL.

  3. La fonction connect() est où la magie happens. Elle essaie d'établir la connexion en utilisant les détails que nous avons fournis.

  4. Si une erreur se produit (comme un mauvais mot de passe), elle affichera un message d'erreur.

  5. Si la connexion est réussie, elle affichera "Connecté à la base de données !".

Tester la Connexion

Pour tester cela, créez un nouveau fichier appelé db_connect.js, collez le code ci-dessus (en remplaçant les placeholders par vos détails MySQL réels) et exécutez-le avec Node.js :

node db_connect.js

Si tout est correctement configuré, vous devriez voir "Connecté à la base de données !" affiché dans votre terminal. Félicitations ! Vous avez刚刚 établi votre première connexion Node.js-MySQL !

Fermer la Connexion

Il est important de fermer la connexion lorsque vous avez terminé. Voici comment vous pouvez le faire :

connection.end((err) => {
if (err) {
console.error('Erreur de fermeture de la connexion à la base de données:', err);
return;
}
console.log('Connexion à la base de données fermée.');
});

N'oubliez jamais de fermer vos connexions - c'est comme éteindre les lumières lorsque vous quittez une pièce !

Opérations de Base de Données

Maintenant que nous pouvons nous connecter à notre base de données, apprenons à effectuer certaines opérations de base.

Création d'une Table

Créons une table simple pour stocker des informations sur les livres :

const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
published_year INT
)
`;

connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('Erreur lors de la création de la table:', err);
return;
}
console.log('Table créée avec succès !');
});

Cette requête crée une table nommée 'books' avec des colonnes pour l'ID, le titre, l'auteur et l'année de publication.

Insertion de Données

Maintenant, ajoutons quelques livres à notre table :

const insertBookQuery = `
INSERT INTO books (title, author, published_year)
VALUES ('Gatsby le Magnifique', 'F. Scott Fitzgerald', 1925)
`;

connection.query(insertBookQuery, (err, result) => {
if (err) {
console.error('Erreur lors de l'insertion d'un livre:', err);
return;
}
console.log('Livre inséré avec succès !');
});

Récupération de Données

Enfin, récupérons et affichons nos livres :

const selectBooksQuery = 'SELECT * FROM books';

connection.query(selectBooksQuery, (err, results) => {
if (err) {
console.error('Erreur lors de la récupération des livres:', err);
return;
}
console.log('Livres dans la base de données:');
results.forEach((book) => {
console.log(`${book.title} par ${book.author} (${book.published_year})`);
});
});

Cette requête sélectionne tous les livres de notre table et les affiche.

Conclusion

Félicitations ! Vous avez fait vos premiers pas dans le monde de Node.js et MySQL. Nous avons couvert l'installation, la connexion et les opérations de base de données. Souvenez-vous, comme pour toute nouvelle compétence, la pratique est la clé. Essayez de créer différentes tables, d'insérer divers types de données et d'écrire des requêtes plus complexes.

Dans mes années d'enseignement, j'ai découvert que le meilleur moyen d'apprendre est de faire. Alors, voici un défi pour vous : Créez un programme qui gère un système de bibliothèque. Il devrait permettre d'ajouter de nouveaux livres, de les emprunter et d'afficher les livres disponibles. Ce projet vous aidera à renforcer ce que vous avez appris et à vous pousser à explorer des concepts plus avancés.

N'oubliez pas, chaque expert a été un débutant à un moment donné. Continuez à pratiquer, restez curieux, et n'ayez pas peur de faire des erreurs - c'est ainsi que nous apprenons et grandissons. Bonne programmation !

Méthode Description
createConnection() Crée une nouvelle connexion MySQL
connect() Établit la connexion à la base de données
end() Ferme la connexion à la base de données
query() Exécute une requête SQL sur la base de données
escape() Échappe les valeurs pour éviter les injections SQL
format() Prépare une instruction SQL en échappant automatiquement les valeurs
beginTransaction() Commence une nouvelle transaction
commit() Valide la transaction en cours
rollback() Annule la transaction en cours
changeUser() Change l'utilisateur actuel de la connexion
ping() Pings le serveur pour vérifier la connexion
statistics() Retourne les statistiques du serveur
threadId Retourne l'ID du thread de la connexion actuelle

Credits: Image by storyset