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…

Previous
Se connecter