Primärschlüssel der Tabelle countrylanguage ändern

MySQLMySQLBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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

  1. Öffne ein Terminal und führe den folgenden Befehl aus, um den MySQL-Dienst zu starten:
sudo service mysql start
  1. Greife mit dem Befehl sudo ohne Passwort auf MySQL zu:
sudo mysql
  1. Importiere die Daten aus /home/labex/project/world.sql in MySQL und wechsle zur Datenbank world:
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.

  1. Öffne die Datei changePri.sql.
  2. Füge die folgenden SQL-Anweisungen zur Datei changePri.sql hinzu:
-- 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);
  1. Speichere die Datei changePri.sql.
  2. Führe das Skript changePri.sql in MySQL aus:
MariaDB [world]> SOURCE /home/labex/project/changePri.sql;
  1. Ü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)
✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.