Datenbankverwaltung und SQL-Selbstverknüpfung

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 eine Datenbank, eine Tabelle erstelst und Daten in die Tabelle einfügst. Du wirst auch lernen, wie du eine Selbstverknüpfungsabfrage auf den Daten ausführst, um die Provinz zu finden, zu der eine Stadt gehört.

👀 Vorschau

Vorschau des Datenbankprojekts

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du den MySQL-Dienst startest und ohne Passwort über die sudo-Befehl auf MySQL zugreifst.
  • Wie du eine Datenbank, eine Tabelle erstelst und Daten in die Tabelle einfügst.
  • Wie du eine Selbstverknüpfungsabfrage auf der division-Tabelle schreibst, um die Provinz für jede Stadt zu finden.
  • Wie du das Skript für die Selbstverknüpfungsabfrage in MySQL ausführst.

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Die grundlegenden Operationen zum Erstellen einer Datenbank, einer Tabelle und zum Einfügen von Daten in MySQL zu verstehen.
  • Selbstverknüpfungsabfragen durchzuführen, um verwandte Informationen aus einer Tabelle abzurufen.
  • Dein Wissen um SQL-Abfragen anzuwenden, um reale Probleme zu lösen.

Starte den MySQL-Dienst und greife auf MySQL zu

In diesem Schritt lernst du, wie du den MySQL-Dienst startest und ohne Passwort über die sudo-Befehl auf MySQL zugreifst.

  1. Starte den MySQL-Dienst:
sudo service mysql start
  1. Greife auf MySQL zu:
sudo mysql

Du solltest jetzt in der Lage sein, auf den MySQL-Eingabeaufforderung ohne Passwort zuzugreifen.

Erstelle Datenbank, Tabelle und füge Daten ein

In diesem Schritt lernst du, wie du eine Datenbank, eine Tabelle erstellst und Daten in die Tabelle einfügst.

  1. Erstelle die Datenbank division:
CREATE DATABASE division;
  1. Verwende die Datenbank division:
USE division;
  1. Erstelle die Tabelle division:
CREATE TABLE division (
  id INT PRIMARY KEY,
  name VARCHAR(22),
  province_id INT
);
  1. Füge Daten in die Tabelle division ein:
INSERT INTO division VALUES
(1, 'Ontario', NULL),
(2, 'Toronto', 1),
(3, 'Quebec', NULL),
(4, 'Montreal', 3);

Schreibe die Selbstverknüpfungsabfrage

In diesem Schritt lernst du, wie du eine Selbstverknüpfungsabfrage auf der division-Tabelle schreibst, um die Provinz zu finden, zu der eine Stadt gehört.

  1. Erstelle in das Verzeichnis /home/labex/project eine neue Datei namens getProvince.sql.

  2. Füge in der Datei getProvince.sql die folgende Abfrage hinzu:

SELECT city.name AS City, province.name AS Province
FROM division AS city
JOIN division AS province ON city.province_id = province.id
WHERE city.province_id IS NOT NULL;

Diese Abfrage führt eine Selbstverknüpfung auf der division-Tabelle durch, wobei die city-Tabelle mit der province-Tabelle anhand der province_id-Spalte verknüpft wird. Die WHERE-Klausel stellt sicher, dass nur die Städte mit einer nicht NULL-Wert in der province_id-Spalte im Ergebnis enthalten sind.

Die resultierende Tabelle wird die Spalten City und Province haben.

Führe die Selbstverknüpfungsabfrage aus

In diesem Schritt lernst du, wie du das Skript für die Selbstverknüpfungsabfrage in MySQL ausführst.

  1. Gehe zurück zur MySQL-Eingabeaufforderung:
sudo mysql
  1. Führe das Skript getProvince.sql aus:
SOURCE /home/labex/project/getProvince.sql;

Du solltest die folgende Ausgabe sehen:

MariaDB [division]> SOURCE /home/labex/project/getProvince.sql;
+----------+----------+
| City     | Province |
+----------+----------+
| Toronto  | Ontario  |
| Montreal | Quebec   |
+----------+----------+
2 rows in set (0.000 sec)

Diese Ausgabe zeigt die Städte und ihre zugehörigen Provinzen, wie sie durch die Selbstverknüpfungsabfrage abgerufen werden.

Herzlichen Glückwunsch! Du hast das Projekt erfolgreich abgeschlossen, indem du eine Datenbank, eine Tabelle erstellt, Daten eingefügt und eine Selbstverknüpfungsabfrage ausgeführt hast, um die Provinz für jede Stadt zu finden.

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