Modification des contraintes de table de base de données MySQL

SQLBeginner
Pratiquer maintenant

Introduction

Dans ce projet, vous allez apprendre à modifier la table countrylanguage dans une base de données MySQL en supprimant la contrainte "not null" du champ IsOfficial.

👀 Aperçu

MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| Champ       | Type          | Null | Clé | Par défaut | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3)       | NON  | PRI |         |       |
| Langue      | char(30)      | NON  | PRI |         |       |
| IsOfficial  | enum('T','F') | OUI  |     | NULL    |       |
| Pourcentage | decimal(4,1)  | NON  |     | 0,0     |       |
+-------------+---------------+------+-----+---------+-------+
4 lignes sélectionnées (0,002 sec)

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment démarrer la base de données MySQL et y accéder en utilisant la commande sudo
  • Comment importer le fichier de données world.sql dans la base de données MySQL
  • Comment modifier la table countrylanguage en supprimant la contrainte "not null" du champ IsOfficial
  • Comment vérifier les modifications apportées à la table countrylanguage

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre comment travailler avec des bases de données MySQL via l'interface de ligne de commande
  • Modifier les structures de table en modifiant les contraintes sur les champs
  • Vérifier les modifications apportées à une table en décrivant sa structure

Démarrer la base de données MySQL et accéder à MySQL

Dans cette étape, vous allez apprendre à démarrer la base de données MySQL et y accéder en utilisant la commande sudo sans mot de passe.

  1. Démarrer le service de base de données MySQL :
sudo service mysql start
  1. Accéder à l'interface de ligne de commande MySQL :
sudo mysql

Maintenant, vous êtes prêt à travailler avec la base de données MySQL.

✨ Vérifier la solution et pratiquer

Importer la base de données World

Dans cette étape, vous allez apprendre à importer le fichier de données world.sql dans la base de données MySQL et à basculer vers la base de données world.

  1. Importer le fichier de données world.sql :
MariaDB [None]> SOURCE /home/labex/project/world.sql;
  1. Basculer vers la base de données world :
MariaDB [None]> USE world;

Maintenant, vous avez chargé la base de données world et êtes prêt à travailler avec elle.

✨ Vérifier la solution et pratiquer

Modifier la table countrylanguage

Dans cette étape, vous allez apprendre à supprimer la contrainte "not null" du champ IsOfficial dans la table countrylanguage.

  1. Ouvrez le fichier changeNull.sql dans un éditeur de texte.
  2. Ajoutez l'instruction SQL suivante au fichier :
ALTER TABLE countrylanguage MODIFY COLUMN IsOfficial ENUM('T', 'F') NULL;

Cette instruction supprimera la contrainte "not null" du champ IsOfficial dans la table countrylanguage.

  1. Enregistrez le fichier changeNull.sql.
✨ Vérifier la solution et pratiquer

Exécuter le script changeNull.sql

Dans cette étape, vous allez apprendre à exécuter le script changeNull.sql dans l'interface de ligne de commande MySQL.

  1. Dans l'interface de ligne de commande MySQL, exécutez la commande suivante pour exécuter le script changeNull.sql :
MariaDB [world]> SOURCE /home/labex/project/changeNull.sql;

Cela exécutera les instructions SQL dans le fichier changeNull.sql et modifiera la table countrylanguage.

✨ Vérifier la solution et pratiquer

Vérifier les modifications

Dans cette étape, vous allez apprendre à vérifier les modifications apportées à la table countrylanguage.

  1. Dans l'interface de ligne de commande MySQL, exécutez la commande suivante pour décrire la table countrylanguage :
MariaDB [world]> DESC countrylanguage;

La sortie devrait montrer que la contrainte "not null" a été supprimée du champ IsOfficial.

+-------------+---------------+------+-----+---------+-------+
| Field       | Type          | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3)       | NO   | PRI |         |       |
| Language    | char(30)      | NO   | PRI |         |       |
| IsOfficial  | enum('T','F') | YES  |     | NULL    |       |
| Percentage  | decimal(4,1)  | NO   |     | 0.0     |       |
+-------------+---------------+------+-----+---------+-------+
4 rows in set (0.002 sec)

Félicitations! Vous avez modifié avec succès la table countrylanguage en supprimant la contrainte "not null" du champ IsOfficial.

✨ Vérifier la solution et pratiquer

Résumé

Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.