Énoncé de l'exercice

Crée la table commande dans la base magasin avec ces colonnes et contraintes :
- id_commande : entier, clé primaire, auto-incrémentée
- num_commande : chaîne (max 20), obligatoire (NOT NULL) et unique (pas deux commandes avec le même numéro)
- date_commande : date (DATE), obligatoire
- total : nombre décimal (10,2), obligatoire, doit être >= 0 (pas de total négatif)
- statut : chaîne (max 50), obligatoire, valeur par défaut "en cours"

Solution proposée

-- On commence par créer la base de données
CREATE DATABASE IF NOT EXISTS magasin;

-- On se place dans cette base
USE magasin;

-- Création de la table "commande" avec contraintes
CREATE TABLE commande (
  id_commande INT AUTO_INCREMENT,                 -- Identifiant unique, auto-incrémenté
  num_commande VARCHAR(20) NOT NULL UNIQUE,       -- Numéro de commande, obligatoire et unique pour éviter les doublons
  date_commande DATE NOT NULL,                     -- Date de la commande, obligatoire
  total DECIMAL(10,2) NOT NULL CHECK (total >= 0),-- Montant total, obligatoire, doit être positif ou nul
  statut VARCHAR(50) NOT NULL DEFAULT 'en cours', -- Statut de la commande, obligatoire, valeur par défaut 'en cours'
  
  PRIMARY KEY (id_commande)                        -- Clé primaire sur id_commande
);