Guide de débutant pour créer une table MySQL avec Node.js

Bonjour, aspirants programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde de Node.js et MySQL. En tant que votre professeur de science informatique du coin, je suis là pour vous guider à travers le processus de création de tables dans MySQL en utilisant Node.js. Ne vous inquiétez pas si vous êtes nouveau dans la programmation - nous allons commencer par les bases et progresser pas à pas. Alors, prenez une tasse de café (ou de thé, si c'est votre truc), et plongons dedans !

Node.js - MySQL Create Table

Comprendre les bases

Avant de sauter dans le code, prenons un moment pour comprendre avec quoi nous avons affaire. Node.js est un puissant environnement d'exécution JavaScript qui nous permet d'exécuter JavaScript du côté serveur. MySQL, quant à lui, est un système de gestion de base de données relationnelle populaire. En combinant ces deux technologies, nous pouvons créer des applications web dynamiques qui interagissent avec des bases de données.

Imaginez que vous organiser votre étagère à livres. Chaque étagère pourrait être une table dans notre base de données, et chaque livre représente une ligne de données. Créer une table, c'est comme installer une nouvelle étagère avec des règles spécifiques pour le type de livres (données) qu'elle peut contenir.

CREATE TABLE dans MySQL

Commençons par regarder comment nous créons des tables directement dans MySQL. Cela nous donnera une bonne base avant de passer à la création via Node.js.

Syntaxe de base

La syntaxe de base pour créer une table dans MySQL est la suivante :

CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);

Reprenons cela :

  • CREATE TABLE est la commande qui indique à MySQL que nous voulons créer une nouvelle table.
  • table_name est où vous spécifiez ce que vous voulez appeler votre table.
  • À l'intérieur des parenthèses, nous listons nos colonnes ainsi que leurs types de données.

Un exemple simple

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

CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
);

Dans cet exemple :

  • id est un entier qui s'incrémente automatiquement et sert de clé primaire.
  • title et author sont des chaînes de caractères de longueur variable qui ne peuvent pas être nulles.
  • publication_year est un entier.
  • isbn est une chaîne unique de 13 caractères.

Souvenez-vous quand j'ai mentionné l'organisation de votre étagère à livres ? La structure de cette table est comme étiqueter chaque section d'étagère : une pour l'ID du livre, une pour le titre, une autre pour l'auteur, etc.

CREATE TABLE dans Node.js

Maintenant que nous comprenons comment créer des tables dans MySQL, voyons comment obtenir le même résultat en utilisant Node.js. C'est là que la magie opère !

Configuration

Tout d'abord, nous devons configurer notre environnement Node.js et installer les packages nécessaires. Ouvrez votre terminal et exécutez :

npm init -y
npm install mysql2

Cela crée un nouveau projet Node.js et installe le package mysql2, que nous utiliserons pour nous connecter à notre base de données MySQL.

Connexion à MySQL

Avant de pouvoir créer des tables, nous devons établit une connexion à notre base de données MySQL. Voici comment nous faisons cela :

const mysql = require('mysql2');

const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database_name'
});

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

Remplacez 'your_username', 'your_password', et 'your_database_name' par vos informations de connexion MySQL réelles.

Création d'une table

Maintenant, créons notre table books en utilisant Node.js :

const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;

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

Reprenons cela :

  1. Nous définissons notre requête SQL sous forme de chaîne, comme nous l'avons fait dans MySQL pur.
  2. Nous utilisons IF NOT EXISTS pour éviter des erreurs si la table existe déjà.
  3. Nous utilisons la méthode connection.query() pour exécuter notre requête SQL.
  4. Nous fournissons une fonction de rappel pour gérer le résultat ou toute erreur.

Rassembler le tout

Voici un script complet qui se connecte à la base de données et crée notre table :

const mysql = require('mysql2');

const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database_name'
});

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

const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;

connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('Erreur de création de la table : ' + err.stack);
return;
}
console.log('Table créée avec succès.');
connection.end(); // Fermer la connexion lorsque nous avons terminé
});
});

Pour exécuter ce script, enregistrez-le sous le nom create_table.js et exécutez-le avec Node.js :

node create_table.js

Si tout se passe bien, vous devriez voir "Connecté à la base de données." suivi de "Table créée avec succès."

Conclusion

Félicitations ! Vous venez de créer votre première table MySQL en utilisant Node.js. Pensez à ce que nous avons fait comme installer une nouvelle étagère organisée dans la grande bibliothèque de votre base de données. Chaque fois que vous exécutez ce script, il vérifie si l'étagère (table) existe, et si ce n'est pas le cas, il en crée une pour vous.

Souvenez-vous, c'est seulement le début. Avec cette connaissance, vous pouvez créer des tables plus complexes, ajouter des relations entre elles, et commencer à construire des applications web puissantes et pilotées par des bases de données.

En conclusion, voici un petit conseil de votre professeur de science informatique : Vérifiez toujours vos détails de connexion et assurez-vous que votre serveur MySQL est en cours d'exécution avant d'exécuter vos scripts Node.js. Ça vous évitera bien des moments de découragement !

Continuez à pratiquer, restez curieux, et bon codage !

Méthode Description
mysql.createConnection() Crée une nouvelle connexion MySQL
connection.connect() Établit la connexion au serveur MySQL
connection.query() Exécute une requête SQL sur la base de données connectée
connection.end() Ferme la connexion MySQL

Credits: Image by storyset