Änderung von MySQL-Datentabellenbeschränkungen

SQLBeginner
Jetzt üben

Einführung

In diesem Projekt lernst du, wie du die Tabelle countrylanguage in einer MySQL-Datenbank ändern kannst, indem du die "not null"-Einschränkung für das Feld IsOfficial entfernst.

👀 Vorschau

MariaDB [world]> DESC countrylanguage;
+-------------+---------------+------+-----+---------+-------+
| Feld        | Typ           | Null | Schlüssel | Standard | Zusatz |
+-------------+---------------+------+-----+---------+-------+
| CountryCode | char(3)       | NEIN | PRI |         |       |
| Sprache     | char(30)      | NEIN | PRI |         |       |
| IsOfficial  | enum('T','F') | JA   |         | NULL    |       |
| Prozentsatz  | decimal(4,1)  | NEIN |         | 0,0     |       |
+-------------+---------------+------+-----+---------+-------+
4 Zeilen in Satz (0,002 Sekunden)

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du die MySQL-Datenbank starten und mit dem Befehl sudo darauf zugreifen kannst
  • Wie du die Datendatei world.sql in die MySQL-Datenbank importierst
  • Wie du die Tabelle countrylanguage ändern kannst, indem du die "not null"-Einschränkung für das Feld IsOfficial entfernst
  • Wie du die Änderungen an der Tabelle countrylanguage überprüfst

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Zu verstehen, wie du mit MySQL-Datenbanken über die Befehlszeilenschnittstelle arbeitest
  • Tabellenstrukturen ändern, indem du die Einschränkungen für Felder veränderst
  • Die Änderungen an einer Tabelle überprüfen, indem du ihre Struktur beschreibst

Starten der MySQL-Datenbank und Zugang zu MySQL

In diesem Schritt lernst du, wie du die MySQL-Datenbank startest und ohne Passwort mit dem Befehl sudo darauf zugreifst.

  1. Starte den MySQL-Datenbankdienst:
sudo service mysql start
  1. Greife auf die MySQL-Befehlszeilenschnittstelle zu:
sudo mysql

Jetzt bist du bereit, mit der MySQL-Datenbank zu arbeiten.

✨ Lösung prüfen und üben

Importiere die World-Datenbank

In diesem Schritt lernst du, wie du die Datendatei world.sql in die MySQL-Datenbank importierst und zur world-Datenbank wechselt.

  1. Importiere die Datendatei world.sql:
MariaDB [None]> SOURCE /home/labex/project/world.sql;
  1. Wechsle zur world-Datenbank:
MariaDB [None]> USE world;

Jetzt hast du die world-Datenbank geladen und bist bereit, damit zu arbeiten.

✨ Lösung prüfen und üben

Ändere die Tabelle countrylanguage

In diesem Schritt lernst du, wie du die "not null"-Einschränkung für das Feld IsOfficial in der Tabelle countrylanguage entfernst.

  1. Öffne die Datei changeNull.sql in einem Texteditor.
  2. Füge den folgenden SQL-Befehl zur Datei hinzu:
ALTER TABLE countrylanguage MODIFY COLUMN IsOfficial ENUM('T', 'F') NULL;

Dieser Befehl entfernt die "not null"-Einschränkung für das Feld IsOfficial in der Tabelle countrylanguage.

  1. Speichere die Datei changeNull.sql.
✨ Lösung prüfen und üben

Führe das changeNull.sql-Skript aus

In diesem Schritt lernst du, wie du das Skript changeNull.sql in der MySQL-Befehlszeilenschnittstelle ausführst.

  1. In der MySQL-Befehlszeilenschnittstelle führe den folgenden Befehl aus, um das Skript changeNull.sql auszuführen:
MariaDB [world]> SOURCE /home/labex/project/changeNull.sql;

Dies führt die SQL-Anweisungen in der Datei changeNull.sql aus und ändert die Tabelle countrylanguage.

✨ Lösung prüfen und üben

Überprüfe die Änderungen

In diesem Schritt lernst du, wie du die Änderungen an der Tabelle countrylanguage überprüfst.

  1. In der MySQL-Befehlszeilenschnittstelle führe den folgenden Befehl aus, um die Tabelle countrylanguage zu beschreiben:
MariaDB [world]> DESC countrylanguage;

Die Ausgabe sollte zeigen, dass die "not null"-Einschränkung für das Feld IsOfficial entfernt wurde.

+-------------+---------------+------+-----+---------+-------+
| 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)

Herzlichen Glückwunsch! Du hast die Tabelle countrylanguage erfolgreich geändert, indem du die "not null"-Einschränkung für das Feld IsOfficial entfernt hast.

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