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.

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.

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.

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 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.

Résumé

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

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer