Einführung
In diesem Lab lernen Sie, wie Sie Daten in einer SQLite-Datenbank abfragen und filtern. Dieses praktische Lab ist für Anfänger konzipiert und führt Sie in grundlegende SQL-Techniken ein. Sie lernen, wie Sie Daten mit der WHERE-Klausel filtern, Muster mit LIKE abgleichen, Ergebnisse mit ORDER BY sortieren und die Anzahl der Ergebnisse mit LIMIT begrenzen. Am Ende dieses Labs werden Sie in der Lage sein, spezifische Daten effizient aus einer Datenbank abzurufen.
Mit SQLite verbinden und Daten anzeigen
In diesem ersten Schritt stellen Sie eine Verbindung zu einer SQLite-Datenbank namens employees.db her und zeigen die Daten innerhalb der Tabelle staff an. Dies ermöglicht es Ihnen, die Daten zu verstehen, mit denen Sie arbeiten werden.
Öffnen Sie ein Terminal in der LabEx VM-Umgebung. Das Standardverzeichnis ist
/home/labex/project.Verbinden Sie sich mit der
employees.db-Datenbank mit demsqlite3-Befehlszeilentool:sqlite3 employees.dbDieser Befehl öffnet die SQLite-Shell, die durch die
sqlite>-Eingabeaufforderung angezeigt wird.Zeigen Sie die Daten in der Tabelle
staffan. Führen Sie den folgenden SQL-Befehl aus:SELECT * FROM staff;Dieser Befehl wählt alle Spalten (
*) aus der Tabellestaffaus und zeigt die Ergebnisse an. Sie sollten die folgende Ausgabe sehen:1|Alice|HR 2|Bob|IT 3|Charlie|HR 4|David|IT 5|Eve|Marketing 6|Frank|ITDiese Ausgabe zeigt die
id, denname(Namen) und dasdepartment(die Abteilung) für jeden Mitarbeiter in der Tabellestaff.Um die SQLite-Shell zu verlassen, geben Sie Folgendes ein:
.quitWICHTIG: Stellen Sie sicher, dass Sie
.quitausführen, bevor Sie auf die Schaltfläche "Continue" (Weiter) klicken. Andernfalls kann der Schritt nicht verifiziert werden, da der SQLite-Verlauf nicht aufgezeichnet wird.
Daten mit der WHERE-Klausel filtern
Die WHERE-Klausel ermöglicht es Ihnen, Daten basierend auf bestimmten Bedingungen zu filtern. Sie können sie verwenden, um nur die Zeilen abzurufen, die Ihre Kriterien erfüllen.
Verbinden Sie sich mit der
employees.db-Datenbank:sqlite3 employees.dbUm nur Mitarbeiter aus der
HR-Abteilung (Personalabteilung) abzurufen, verwenden Sie den folgenden SQL-Befehl:SELECT * FROM staff WHERE department = 'HR';Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus, schließt aber nur Zeilen ein, in denen die SpaltedepartmentgleichHRist. Die Ausgabe wird sein:1|Alice|HR 3|Charlie|HRLassen Sie uns nun Mitarbeiter mit einer
idgrößer als 3 finden:SELECT * FROM staff WHERE id > 3;Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus, schließt aber nur Zeilen ein, in denen die Spalteidgrößer als 3 ist. Die Ausgabe wird sein:4|David|IT 5|Eve|Marketing 6|Frank|ITBeenden Sie die SQLite-Shell:
.quitWICHTIG: Stellen Sie sicher, dass Sie
.quitausführen, bevor Sie auf die Schaltfläche "Continue" (Weiter) klicken. Andernfalls kann der Schritt nicht verifiziert werden, da der SQLite-Verlauf nicht aufgezeichnet wird.
Mustervergleich mit dem LIKE-Operator
Der LIKE-Operator wird für den Mustervergleich (pattern matching) verwendet. Er ist hilfreich, wenn Sie Daten finden möchten, die einem bestimmten Muster entsprechen, und nicht einem exakten Wert. Sie verwenden Platzhalter (wildcards) wie % (null oder mehr Zeichen) und _ (ein einzelnes Zeichen).
Verbinden Sie sich mit der
employees.db-Datenbank:sqlite3 employees.dbUm Mitarbeiter zu finden, deren Namen mit
Abeginnen, verwenden Sie den folgenden Befehl:SELECT * FROM staff WHERE name LIKE 'A%';Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus, schließt aber nur Zeilen ein, in denen die SpaltenamemitAbeginnt. Der Platzhalter%entspricht null oder mehr Zeichen. Die Ausgabe wird sein:1|Alice|HRUm Mitarbeiter zu finden, deren Namen den Buchstaben
ienthalten, verwenden Sie:SELECT * FROM staff WHERE name LIKE '%i%';Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus, schließt aber nur Zeilen ein, in denen die Spaltenameden Buchstabenienthält. Die Ausgabe wird sein:1|Alice|HR 3|Charlie|HR 4|David|ITBeenden Sie die SQLite-Shell:
.quit
Daten mit der ORDER BY-Klausel sortieren
Die ORDER BY-Klausel ermöglicht es Ihnen, die Ergebnisse Ihrer Abfrage zu sortieren. Sie können in aufsteigender (Standard) oder absteigender Reihenfolge sortieren.
Verbinden Sie sich mit der
employees.db-Datenbank:sqlite3 employees.dbUm die Daten alphabetisch nach
namein aufsteigender Reihenfolge zu sortieren, verwenden Sie:SELECT * FROM staff ORDER BY name;Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus und sortiert die Ergebnisse nach der Spaltenamein aufsteigender Reihenfolge (A bis Z). Die Ausgabe wird sein:1|Alice|HR 2|Bob|IT 3|Charlie|HR 4|David|IT 5|Eve|Marketing 6|Frank|ITUm nach
namein absteigender Reihenfolge zu sortieren, verwenden Sie:SELECT * FROM staff ORDER BY name DESC;Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus und sortiert die Ergebnisse nach der Spaltenamein absteigender Reihenfolge (Z bis A). Die Ausgabe wird sein:6|Frank|IT 5|Eve|Marketing 4|David|IT 3|Charlie|HR 2|Bob|IT 1|Alice|HRBeenden Sie die SQLite-Shell:
.quit
Ergebnisse mit der LIMIT-Klausel begrenzen
Die LIMIT-Klausel beschränkt die Anzahl der Zeilen, die von einer Abfrage zurückgegeben werden. Dies ist nützlich, wenn Sie nur eine Teilmenge (subset) der Daten benötigen.
Verbinden Sie sich mit der
employees.db-Datenbank:sqlite3 employees.dbUm nur die ersten 3 Zeilen aus der Tabelle
staffabzurufen, verwenden Sie:SELECT * FROM staff LIMIT 3;Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus und begrenzt die Ergebnisse auf die ersten 3 Zeilen. Die Ausgabe wird sein:1|Alice|HR 2|Bob|IT 3|Charlie|HRKombinieren Sie
LIMITmitORDER BY, um die ersten 2 Mitarbeiter, sortiert nachnamein absteigender Reihenfolge, zu erhalten:SELECT * FROM staff ORDER BY name DESC LIMIT 2;Dieser Befehl wählt alle Spalten aus der Tabelle
staffaus, sortiert die Ergebnisse nach der Spaltenamein absteigender Reihenfolge und begrenzt die Ergebnisse auf die ersten 2 Zeilen. Die Ausgabe wird sein:6|Frank|IT 5|Eve|MarketingBeenden Sie die SQLite-Shell:
.quit
Zusammenfassung
In diesem Lab haben Sie gelernt, wie man Daten in einer SQLite-Datenbank abfragt und filtert. Sie haben sich mit einer Datenbank verbunden, Daten mit der WHERE-Klausel gefiltert, Muster mit dem LIKE-Operator abgeglichen, Ergebnisse mit ORDER BY sortiert und die Anzahl der zurückgegebenen Zeilen mit LIMIT begrenzt. Diese Techniken vermitteln Ihnen die grundlegenden Fähigkeiten, um Daten effektiv abzurufen und zu organisieren.


