Einführung
In diesem Projekt lernst du, wie du die Primärschlüssel der Tabelle countrylanguage in einer MySQL-Datenbank ändern kannst. Der ursprüngliche Primärschlüssel basierte ausschließlich auf der Spalte CountryCode, aber für eine bessere Organisation wirst du einen zusammengesetzten Primärschlüssel aus den Spalten CountryCode und Language erstellen.
👀 Vorschau
MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| Feld | Typ | Null | Schlüssel | Standard | Zusatz |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NEIN | PRI | | |
| Sprache | char(30) | NEIN | PRI | | |
| Ist offiziell | enum('T','F') | NEIN | | F | |
| Prozentsatz | decimal(4,1) | NEIN | | 0,0 | |
+-------------+---------------+------+-----+---------+-------+
4 Zeilen in Satz (0,001 Sekunden)
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du MySQL mit dem Befehl
sudoohne Passwort zugreifen kannst - Wie du Daten aus einer SQL-Datei in eine MySQL-Datenbank importierst
- Wie du den Primärschlüssel einer Tabelle in einen zusammengesetzten Schlüssel umwandelst
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Die Wichtigkeit eines zusammengesetzten Primärschlüssels für eine bessere Datenorganisation zu verstehen
- Vertrauensvoll Änderungen am Primärschlüsselaufbau einer MySQL-Tabelle vorzunehmen
- Dein Wissen um SQL-Befehle anzuwenden, um gewünschte Änderungen an der Datenbank durchzuführen
Zugang zu MySQL und Import der Daten
In diesem Schritt lernst du, wie du MySQL mit dem Befehl sudo ohne Passwort zugreifst und die Daten aus /home/labex/project/world.sql in MySQL importierst.
- Öffne ein Terminal und führe den folgenden Befehl aus, um den MySQL-Dienst zu starten:
sudo service mysql start
- Greife mit dem Befehl
sudoohne Passwort auf MySQL zu:
sudo mysql
- Importiere die Daten aus
/home/labex/project/world.sqlin MySQL und wechsle zur Datenbankworld:
MariaDB [(none)]> SOURCE /home/labex/project/world.sql;
Primärschlüssel ändern
In diesem Schritt lernst du, wie du den Primärschlüssel der Tabelle countrylanguage in einen zusammengesetzten Schlüssel aus CountryCode und Language umwandelst.
- Öffne die Datei
changePri.sql. - Füge die folgenden SQL-Anweisungen zur Datei
changePri.sqlhinzu:
-- Lösche die ursprüngliche Primärschlüsselbeschränkung
ALTER TABLE countrylanguage DROP PRIMARY KEY;
-- Füge die zusammengesetzten Primärschlüsselbeschränkungen hinzu
ALTER TABLE countrylanguage ADD PRIMARY KEY (CountryCode, Language);
- Speichere die Datei
changePri.sql. - Führe das Skript
changePri.sqlin MySQL aus:
MariaDB [world]> SOURCE /home/labex/project/changePri.sql;
- Überprüfe die Änderungen an der Tabelle
countrylanguage:
MariaDB [world]> DESC countrylanguage;
Die Ausgabe sollte jetzt den zusammengesetzten Primärschlüssel aus CountryCode und Language anzeigen.
+-------------+---------------+------+-----+---------+-------+
| Feld | Typ | Null | Schlüssel | Standard | Zusatz |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3) | NEIN | PRI | | |
| Sprache | char(30) | NEIN | PRI | | |
| Ist offiziell | enum('T','F') | NEIN | | F | |
| Prozentsatz | decimal(4,1) | NEIN | | 0,0 | |
+-------------+---------------+------+-----+---------+-------+
4 Zeilen in Satz (0,001 Sekunden)
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.



