MySQL
Créer et afficher les bases de données / tables
🧩 1. Créer et afficher les bases de données
Les bases de données sont les “conteneurs” principaux dans MySQL. Chaque projet a généralement la sienne (ex : SamiDB, VehicleDB).
📦 Créer une base de données
CREATE DATABASE SamiDB;
Cette commande demande à MySQL de créer un nouveau dossier logique dans lequel tu pourras mettre des tables.
Tu peux aussi définir le charset (toujours recommandé) :
CREATE DATABASE SamiDB
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
UTF8MB4 = support complet des emojis, caractères spéciaux, japonais, etc.
🔍 Afficher toutes les bases existantes
SHOW DATABASES;
Tu verras des bases système (information_schema, mysql, etc.) et les tiennes.
🎯 2. Sélectionner la base de données dans laquelle tu veux travailler
MySQL ne sait pas sur quelle base exécuter tes commandes tant que tu ne lui as pas indiqué.
Commande :
USE SamiDB;
Après ça, toutes les opérations (création de table, insertion de données, etc.) se feront dans SamiDB.
🏗️ 3. Créer et afficher des tables
Les tables contiennent les données. Pour une base SamiDB, tu pourrais avoir des tables comme User, Video, Genre, etc.
Tu dois toujours penser à ta convention : première lettre en majuscule + clé primaire NomTableID.
🧱 Créer une table
Exemple simple :
CREATE TABLE User (
UserID INT AUTO_INCREMENT PRIMARY KEY,
Nom VARCHAR(100),
Email VARCHAR(150) UNIQUE,
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP
);
Explications rapides :
- UserID = identifiant unique
- AUTO_INCREMENT = s’incrémente automatiquement
- PRIMARY KEY = clé primaire de la table
- Email UNIQUE = MySQL refuse les doublons
- CreateDate = timestamp automatique
🧱 Exemple avec relation (clé étrangère)
CREATE TABLE Video (
VideoID INT AUTO_INCREMENT PRIMARY KEY,
Titre VARCHAR(255),
Duree INT,
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE VideoGenre (
VideoGenreID INT AUTO_INCREMENT PRIMARY KEY,
VideoID INT,
GenreID INT,
FOREIGN KEY (VideoID) REFERENCES Video(VideoID),
FOREIGN KEY (GenreID) REFERENCES Genre(GenreID)
);
Tu vois l’idée : les tables communiquent entre elles via des clés étrangères.
📋 Afficher la liste des tables d’une base
Tu dois d’abord être dans la bonne base (USE SamiDB;), puis :
SHOW TABLES;
Tu vois toutes les tables disponibles.
🔍 Afficher la structure d’une table
Pour savoir exactement ce qu’elle contient :
DESCRIBE User;
ou la version longue, plus complète :
SHOW CREATE TABLE User;
Cette dernière affiche aussi les clés étrangères, contraintes, charset…