OUJOOD.COM
MySQL est un système de gestion de base de données relationnelle (SGBDR) qui utilise SQL pour effectuer des opérations CRUD (Create, Read, Update, Delete) sur les données stockées dans les tables d'une base de données. Ce tutoriel vous montre comment utiliser MySQL avec Node.js pour créer des tables dans une base de données.
Création de table dans MySQL
Dans une base de données relationnelle, une table représente une entité, caractérisée par un ou plusieurs attributs. Chaque ligne d'une table est une instance de cette entité. Chaque instance d'entité est décrite par certaines valeurs des attributs de la table. Une table a généralement un attribut marqué comme clé primaire, contraignant chaque ligne à avoir une valeur unique.
Syntaxe de l'instruction CREATE TABLE
MySQL implémente l'instruction CREATE TABLE conformément aux standards SQL. Voici la syntaxe de base :
CREATE TABLE [IF NOT EXISTS] table_name(
column1 datatype constraints,
column2 datatype constraints,
...
) ENGINE=storage_engine;
Cette syntaxe définit la structure d'une table en précisant le nom de la table, les colonnes, leurs types de données et leurs contraintes. MySQL prend en charge différents types de données, tels que INT, VARCHAR, FLOAT, etc.
Créer une Table dans Node.js
Pour créer une table MySQL à partir de Node.js, suivez ces étapes :
- Inclure le module
mysql. - Appeler la fonction
createConnection()pour obtenir un objet de connexion. - Utiliser la méthode
query()pour exécuter la requêteCREATE TABLE.
Exemple de Code pour Créer une Table
Voici un exemple de code Node.js qui crée une table employee dans la base de données madb :
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "madb"
});
var qry = 'CREATE TABLE IF NOT EXISTS employee ( \
id INT AUTO_INCREMENT PRIMARY KEY, \
name VARCHAR(20) NOT NULL, \
age INT, \
salary FLOAT \
)';
con.connect(function (err) {
if (err) throw err;
console.log("Connecté !");
con.query(qry, function (err, result) {
if (err) throw err;
console.log("Table créée avec succès");
});
con.query("SHOW TABLES;", function (err, result) {
if (err) throw err;
console.log("Affichage des tables\n");
for (var i = 0; i < result.length; i++) {
console.log(JSON.stringify(result[i]));
}
});
con.end();
});
Le code ci-dessus crée une table employee dans la base de données madb avec les colonnes id, name, age, et salary. Il vérifie également si la table existe déjà et affiche toutes les tables dans la base de données après la création.
Afficher les Tables et la Structure de la Table
Après avoir créé la table, vous pouvez lister toutes les tables avec la requête SHOW TABLES. Vous pouvez aussi afficher la structure de la table avec la requête DESC.
con.query("DESC employee;", function (err, result) {
if (err) throw err;
console.log(JSON.stringify(result));
});
Le résultat de la commande DESC affichera les champs, les types et les contraintes de chaque colonne de la table employee.
Exemple de Sortie
[
{"Field":"id","Type":"int","Null":"NO","Key":"PRI","Default":null,"Extra":"auto_increment"},
{"Field":"name","Type":"varchar(20)","Null":"NO","Key":"","Default":null,"Extra":""},
{"Field":"age","Type":"int","Null":"YES","Key":"","Default":null,"Extra":""},
{"Field":"salary","Type":"float","Null":"YES","Key":"","Default":null,"Extra":""}
]
Dans l'exemple ci-dessus, nous avons la structure de la table employee avec des informations sur chaque champ, tel que le type de données, les contraintes, et les valeurs par défaut.
Comment déterminer la structure des colonnes d'une table MySQL
Dans cet article, nous allons apprendre comment obtenir la structure des colonnes d'une table dans MySQL et explorer les différents types de données disponibles. Que vous soyez débutant ou initié, ce guide est conçu pour vous accompagner étape par étape.
1. Déterminer la structure des colonnes
Pour voir la structure des colonnes d'une table, MySQL propose plusieurs commandes que vous pouvez utiliser directement dans votre terminal ou via un outil comme phpMyAdmin.
1.1 La commande DESCRIBE
La commande DESCRIBE ou son alias DESC permet de voir les colonnes d'une table, leur type, leurs contraintes, etc.
DESCRIBE nom_de_la_table;
Explication : Cette commande liste :
- Field : Le nom de chaque colonne.
- Type : Le type de données de la colonne.
- Null : Indique si la colonne accepte des valeurs
NULL. - Key : Spécifie si la colonne est une clé (
PRI,UNI,MUL). - Default : La valeur par défaut.
- Extra : Informations supplémentaires (comme
auto_increment).
2. Types de données dans MySQL
MySQL propose une variété de types de données pour répondre à des besoins spécifiques. Voici une liste de définitions des principaux types de données :
- Types numériques :
-
TINYINT: Entier de très petite taille (1 octet).SMALLINT,MEDIUMINT,INT,BIGINT: Entiers de tailles croissantes.DECIMAL,NUMERIC: Nombres à virgule fixe, précis pour les calculs financiers.FLOAT,DOUBLE: Nombres à virgule flottante.
- Types de chaînes de caractères :
-
CHAR: Chaîne de longueur fixe (1 à 255 caractères).VARCHAR: Chaîne de longueur variable (jusqu’à 65535 caractères).TEXT: Texte de taille variable (jusqu’à 4 Go, selon la variante).BLOB: Données binaires de taille variable, souvent utilisées pour les images ou fichiers.
- Types de date et heure :
-
DATE: Représente une date (AAAA-MM-JJ).DATETIME: Date et heure combinées.TIMESTAMP: Stocke des horodatages UNIX.TIME: Représente une durée ou une heure (HH:MM:SS).YEAR: Année, sous forme de 4 chiffres (AAAA).
- Autres types :
-
JSON: Stocke des données JSON.ENUM: Liste prédéfinie de valeurs.SET: Ensemble de valeurs prédéfinies.
Voici une liste de définitions pour les contraintes utilisées dans MySQL, sous forme de liste de définition :
- PRIMARY KEY
- Identifie de manière unique chaque enregistrement dans une table. Une table ne peut avoir qu'une seule clé primaire, et cette colonne ne peut contenir ni doublons ni valeurs
NULL. - FOREIGN KEY
- Établit une relation entre deux tables. Elle garantit que les valeurs de la colonne correspondent aux valeurs d'une colonne référencée dans une autre table, souvent une clé primaire.
- UNIQUE
- Empêche l'insertion de doublons dans une colonne. Contrairement à
PRIMARY KEY, une table peut avoir plusieurs contraintesUNIQUE. - NOT NULL
- Assure qu'une colonne ne peut pas contenir de valeur
NULL. Toutes les valeurs doivent être définies lors de l'insertion ou de la mise à jour. - DEFAULT
- Attribue une valeur par défaut à une colonne lorsqu'aucune valeur explicite n'est fournie lors de l'insertion.
- CHECK
- Permet de définir une condition que les valeurs de la colonne doivent satisfaire. Par exemple, restreindre une colonne
âgepour accepter uniquement des valeurs positives. - AUTO_INCREMENT
- Utilisée pour générer automatiquement des valeurs uniques et incrémentées dans une colonne, souvent avec une clé primaire.
- INDEX
- Améliore la performance des requêtes en créant un index sur une ou plusieurs colonnes. Les index peuvent être
UNIQUEou non, selon les besoins. - ON DELETE
- Définit le comportement lorsqu'un enregistrement référencé par une clé étrangère est supprimé. Les options courantes sont
CASCADE(supprime les enregistrements associés) etSET NULL(remplace les valeurs parNULL). - ON UPDATE
- Spécifie le comportement lorsqu'une clé étrangère est mise à jour. Par exemple,
CASCADEmettra à jour les enregistrements associés avec la nouvelle valeur.
Explication des contraintes :
- 1. Ces définitions permettent de mieux comprendre comment contrôler et sécuriser les données dans une table MySQL.
- 2. Chaque contrainte joue un rôle crucial dans l'intégrité des données, les relations entre tables et les performances des requêtes.
3. Conclusion
En utilisant les commandes comme DESCRIBE, vous pouvez identifier la structure des colonnes dans une table MySQL. Les types de données proposés par MySQL vous permettent d'optimiser vos bases de données en fonction des besoins spécifiques de votre application.