Cours SQL et MySQL · Module 4: Créer des tables (DDL)

DEFAULT et UNIQUE - des règles supplémentaires

2 min de lecture
Dans cette leçon4

Tu connais déjà PRIMARY KEY, AUTO_INCREMENT et NOT NULL. Le scriptorium a deux règles précieuses de plus qui mettent de l'ordre dans les données : DEFAULT et UNIQUE.

DEFAULT - une valeur par défaut

Quand nous ne fournissons pas de valeur pour une colonne en enregistrant une nouvelle ligne, MySQL insère pour nous une valeur par défaut :

1dostepna BOOLEAN DEFAULT TRUE

Un nouveau livre est disponible par défaut, jusqu'à ce que quelqu'un l'emprunte. Nous écrivons DEFAULT après le type de la colonne, en indiquant la valeur qui doit apparaître automatiquement. Nous pouvons la combiner avec NOT NULL :

1dostepna BOOLEAN NOT NULL DEFAULT TRUE

UNIQUE - l'unicité

Elle impose que deux lignes ne puissent jamais avoir la même valeur dans une colonne donnée :

1email VARCHAR(120) UNIQUE

Deux lecteurs ne peuvent pas fournir la même adresse e-mail - la Bibliothèque n'acceptera pas un tel enregistrement.

UNIQUE contre PRIMARY KEY

Ce sont des proches parents, mais il existe des différences :

  • Une table n'a qu'une seule PRIMARY KEY, mais elle peut avoir de nombreuses colonnes UNIQUE.
  • Une PRIMARY KEY ne peut jamais être vide ; une colonne UNIQUE (sans NOT NULL) peut prendre NULL.
  • PRIMARY KEY est le principal moyen d'identifier une ligne ; UNIQUE protège l'unicité de champs supplémentaires, comme email ou numer_karty.

Tout ensemble

1CREATE TABLE czytelnicy (
2  id INT AUTO_INCREMENT PRIMARY KEY,
3  imie VARCHAR(50) NOT NULL,
4  email VARCHAR(120) UNIQUE
5);

Une clé primaire, un champ obligatoire et un e-mail unique - le rayon est prêt pour les lecteurs !

Tu as repéré une erreur dans cette leçon ?

Teste tes connaissances

Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.

  1. 1. Que fait la contrainte DEFAULT sur une colonne, par exemple dostepna BOOLEAN DEFAULT TRUE ?

  2. 2. Que garantit la contrainte UNIQUE posée sur la colonne email ?

Voici 2 des 3 questions de cette leçon. Réponds aux autres dans le jeu.

Tâches pratiques dans le jeu

  • Éditeur de code

    Écris une instruction CREATE TABLE qui crée la table czytelnicy avec les colonnes : id de type INT avec AUTO_INCREMENT et PRIMARY KEY, imie de type VARCHAR(50) NOT NULL et email de type VARCHAR(120) avec la contrainte UNIQUE.

  • Tri horizontal

    Ordonne sur une ligne les éléments d'une définition de colonne avec une valeur par défaut, de gauche à droite :

  • Éditeur de code

    Écris une instruction CREATE TABLE qui crée la table egzemplarze avec les colonnes : id de type INT avec AUTO_INCREMENT et PRIMARY KEY, et dostepna de type BOOLEAN avec une valeur par défaut de TRUE.