Cours SQL et MySQL · Module 4: Créer des tables (DDL)
DEFAULT et UNIQUE - des règles supplémentaires
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 TRUEUn 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 TRUEUNIQUE - l'unicité
Elle impose que deux lignes ne puissent jamais avoir la même valeur dans une colonne donnée :
1email VARCHAR(120) UNIQUEDeux 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
emailounumer_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. Que fait la contrainte DEFAULT sur une colonne, par exemple dostepna BOOLEAN DEFAULT TRUE ?
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.