Introduction
Dans ce projet, vous allez apprendre à modifier la clé primaire de la table countrylanguage dans une base de données MySQL. La clé primaire initiale était basée uniquement sur la colonne CountryCode, mais pour une meilleure organisation, vous allez créer une clé primaire composée en utilisant les colonnes CountryCode et Language.
👀 Aperçu
MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| Champ | Type | Null | Clé | Par défaut | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NON | PRI | | |
| Langue | char(30) | NON | PRI | | |
| Est officiel | enum('T','F') | NON | | F | |
| Pourcentage | decimal(4,1) | NON | | 0,0 | |
+-------------+---------------+------+-----+---------+-------+
4 lignes sélectionnées (0,001 sec)
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment accéder à MySQL en utilisant la commande
sudosans mot de passe - Comment importer des données à partir d'un fichier SQL dans une base de données MySQL
- Comment modifier la clé primaire d'une table en une clé composée
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre l'importance d'utiliser une clé primaire composée pour une meilleure organisation des données
- Apporter avec confiance des modifications à la structure de la clé primaire d'une table MySQL
- Appliquer vos connaissances des instructions SQL pour réaliser les modifications de base de données souhaitées
Accéder à MySQL et importer les données
Dans cette étape, vous allez apprendre à accéder à MySQL en utilisant la commande sudo sans mot de passe, et à importer les données de /home/labex/project/world.sql dans MySQL.
- Ouvrez un terminal et exécutez la commande suivante pour démarrer le service MySQL :
sudo service mysql start
- Accédez à MySQL en utilisant la commande
sudosans mot de passe :
sudo mysql
- Importez les données de
/home/labex/project/world.sqldans MySQL et basculez sur la base de donnéesworld:
MariaDB [(none)]> SOURCE /home/labex/project/world.sql;
Modifier la clé primaire
Dans cette étape, vous allez apprendre à modifier la clé primaire de la table countrylanguage en une clé composée composée de CountryCode et Language.
- Ouvrez le fichier
changePri.sql. - Ajoutez les instructions SQL suivantes au fichier
changePri.sql:
-- Supprime la contrainte de clé primaire d'origine
ALTER TABLE countrylanguage DROP PRIMARY KEY;
-- Ajoute les contraintes de clé primaire composée
ALTER TABLE countrylanguage ADD PRIMARY KEY (CountryCode, Language);
- Enregistrez le fichier
changePri.sql. - Exécutez le script
changePri.sqldans MySQL :
MariaDB [world]> SOURCE /home/labex/project/changePri.sql;
- Vérifiez les modifications apportées à la table
countrylanguage:
MariaDB [world]> DESC countrylanguage;
La sortie devrait maintenant montrer la clé primaire composée de CountryCode et Language.
+-------------+---------------+------+-----+---------+-------+
| Champ | Type | Null | Clé | Par défaut | Extra |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NON | PRI | | |
| Langue | char(30) | NON | PRI | | |
| Est officiel | enum('T','F') | NON | | F | |
| Pourcentage | decimal(4,1) | NON | | 0,0 | |
+-------------+---------------+------+-----+---------+-------+
4 lignes sélectionnées (0,001 sec)
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.



