Einführung
In diesem Lab lernen Sie die grundlegenden Operationen für die Arbeit mit Daten in SQLite kennen, einer schlanken, dateibasierten Datenbank, die ideal für Anfänger ist. Durch praktische Übungen in der LabEx VM-Umgebung erstellen Sie eine Datenbank, richten Tabellen ein und führen Kernaufgaben wie das Einfügen von Daten, das Abfragen von Datensätzen, das Aktualisieren von Informationen und das Löschen von Einträgen durch. Diese Schritt-für-Schritt-Anleitung hilft Ihnen, eine solide Grundlage im Datenbankmanagement mit einfachen SQL-Befehlen zu schaffen, die auf Datenbankneulinge zugeschnitten sind.
Erstellen einer SQLite-Datenbank und -Tabelle
In diesem ersten Schritt erstellen Sie eine SQLite-Datenbank und richten eine Tabelle zum Speichern von Daten ein. SQLite ist eine schlanke Datenbank, die Daten in einer einzigen Datei speichert, was die Verwendung zu Lernzwecken vereinfacht.
Öffnen Sie zunächst Ihr Terminal in der LabEx VM. Ihr Standardpfad ist /home/labex/project.
Erstellen wir nun eine SQLite-Datenbank namens mydb.sqlite. Führen Sie den folgenden Befehl aus, um die Datenbankdatei zu erstellen und das SQLite-Befehlszeilentool zu öffnen:
sqlite3 mydb.sqlite
Sie sehen eine Eingabeaufforderung, die anzeigt, dass Sie sich jetzt in der SQLite-Shell befinden:
SQLite version 3.x.x
Enter ".help" for usage hints.
sqlite>
Erstellen Sie als Nächstes eine Tabelle namens users zum Speichern grundlegender Benutzerinformationen. Diese Tabelle hat drei Spalten: id (eine eindeutige Kennung), name und email. Geben Sie den folgenden SQL-Befehl an der sqlite>-Eingabeaufforderung ein und drücken Sie die Eingabetaste:
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL
);
Dieser Befehl richtet die Tabelle users ein, wobei:
ideine Ganzzahl (Integer) ist, die für jeden neuen Eintrag automatisch erhöht wird. DiePRIMARY KEY(Primärschlüssel)-Beschränkung stellt sicher, dass jedeideindeutig ist, undAUTOINCREMENTsorgt für die automatische Erhöhung.nameein Textfeld ist, das nicht leer gelassen werden darf (NOT NULL).emailist ebenfalls ein Textfeld, das nicht leer gelassen werden darf (NOT NULL).
Sie sehen keine Ausgabe, wenn der Befehl erfolgreich ausgeführt wird.
Daten in die Tabelle einfügen
Nachdem Sie die Tabelle users erstellt haben, fügen wir einige Daten hinzu. Wir werden drei Benutzerdatensätze in die Tabelle einfügen.
Fügen Sie drei Benutzerdatensätze in die Tabelle users ein, indem Sie diese Befehle einzeln an der sqlite>-Eingabeaufforderung ausführen:
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');
Diese Befehle fügen der Tabelle users drei Zeilen hinzu. Beachten Sie, dass Sie keinen Wert für die Spalte id angeben, da diese mit jedem neuen Eintrag automatisch erhöht wird.
INSERT INTO users (name, email)gibt an, dass Sie Daten in die Spaltennameundemailder Tabelleuserseinfügen.VALUES ('Alice', 'alice@example.com')stellt die Werte bereit, die für jeden Datensatz eingefügt werden sollen.
Um zu bestätigen, dass die Daten korrekt hinzugefügt wurden, führen Sie diesen Befehl aus, um alle Datensätze in der Tabelle anzuzeigen:
SELECT * FROM users;
Erwartete Ausgabe:
1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com
Diese Ausgabe zeigt die id, den name und die email für jeden Datensatz. Der Befehl SELECT * ruft alle Spalten aus der angegebenen Tabelle ab.
Daten mit SELECT abfragen
In diesem Schritt lernen Sie, wie Sie Daten aus Ihrer Tabelle mit der SELECT-Anweisung abrufen. Das Abfragen von Daten ist eine Kernkompetenz für die Arbeit mit Datenbanken, da Sie damit die gespeicherten Informationen anzeigen und analysieren können.
Lassen Sie uns an der sqlite>-Eingabeaufforderung zunächst alle Daten aus der Tabelle users abrufen. Führen Sie diesen Befehl aus:
SELECT * FROM users;
Erwartete Ausgabe:
1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com
Das * in SELECT * bedeutet "alle Spalten", sodass dieser Befehl jede Spalte und Zeile in der Tabelle users anzeigt.
Als Nächstes können Sie bestimmte Spalten auswählen, die angezeigt werden sollen. Um nur die Spalten name und email anzuzeigen, führen Sie Folgendes aus:
SELECT name, email FROM users;
Erwartete Ausgabe:
Alice|alice@example.com
Bob|bob@example.com
Charlie|charlie@example.com
Dieser Befehl beschränkt die Ausgabe auf die angegebenen Spalten und lässt die id weg.
Filtern Sie schließlich Daten mithilfe einer Bedingung mit der WHERE-Klausel. Um nur den Datensatz für 'Alice' anzuzeigen, führen Sie Folgendes aus:
SELECT * FROM users WHERE name = 'Alice';
Erwartete Ausgabe:
1|Alice|alice@example.com
Die WHERE-Klausel schränkt die Ergebnisse auf Zeilen ein, die der Bedingung entsprechen, in diesem Fall, in dem der name 'Alice' ist.
SELECT * FROM userswählt alle Spalten aus der Tabelleusersaus.WHERE name = 'Alice'filtert die Ergebnisse, um nur Zeilen einzuschließen, in denen die Spaltenamegleich 'Alice' ist.
Datensätze in der Tabelle aktualisieren
Nun lernen Sie, wie Sie vorhandene Daten in Ihrer Tabelle mit der UPDATE-Anweisung ändern. Das Aktualisieren von Datensätzen ist wichtig, wenn Sie Informationen in einer Datenbank korrigieren oder ändern müssen.
Überprüfen Sie zunächst die aktuellen Daten in der Tabelle users, um zu sehen, was Sie aktualisieren werden. Führen Sie Folgendes aus:
SELECT * FROM users;
Erwartete Ausgabe:
1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com
Aktualisieren Sie nun die E-Mail-Adresse für 'Bob' auf bob.new@example.com. Geben Sie diesen Befehl an der sqlite>-Eingabeaufforderung ein:
UPDATE users SET email = 'bob.new@example.com' WHERE name = 'Bob';
Sie sehen keine Ausgabe, wenn der Befehl erfolgreich ist. Dieser Befehl ändert den email-Wert für die Zeile, in der name 'Bob' ist. Die WHERE-Klausel stellt sicher, dass nur der übereinstimmende Datensatz aktualisiert wird.
UPDATE usersgibt an, dass Sie die Tabelleusersaktualisieren.SET email = 'bob.new@example.com'legt den neuen Wert für die Spalteemailfest.WHERE name = 'Bob'filtert die Aktualisierung so, dass sie nur auf die Zeile angewendet wird, in der dername'Bob' ist.
Überprüfen Sie die Änderung, indem Sie die Tabelle erneut abfragen:
SELECT * FROM users;
Erwartete Ausgabe:
1|Alice|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com
Sie können sehen, dass Bobs E-Mail-Adresse aktualisiert wurde.
Datensätze aus der Tabelle löschen
In diesem letzten Schritt lernen Sie, wie Sie Daten aus Ihrer Tabelle mit der DELETE-Anweisung entfernen. Das Löschen von Datensätzen ist erforderlich, wenn Sie veraltete oder falsche Daten aus einer Datenbank bereinigen müssen.
Zeigen Sie zunächst die aktuellen Daten in der Tabelle users an, um zu ermitteln, was Sie löschen werden. Führen Sie Folgendes aus:
SELECT * FROM users;
Erwartete Ausgabe:
1|Alice|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com
Löschen Sie nun den Datensatz für 'Charlie', indem Sie diesen Befehl ausführen:
DELETE FROM users WHERE name = 'Charlie';
Sie sehen keine Ausgabe, wenn der Befehl erfolgreich ist. Dieser Befehl entfernt die Zeile, in der name 'Charlie' ist. Die WHERE-Klausel stellt sicher, dass nur der angegebene Datensatz gelöscht wird.
DELETE FROM usersgibt an, dass Sie aus der Tabelleuserslöschen.WHERE name = 'Charlie'filtert die Löschung so, dass sie nur auf die Zeile angewendet wird, in der dername'Charlie' ist.
Überprüfen Sie die Löschung, indem Sie die Tabelle erneut abfragen:
SELECT * FROM users;
Erwartete Ausgabe:
1|Alice|alice@example.com
2|Bob|bob.new@example.com
Sie können sehen, dass Charlies Datensatz nicht mehr in der Tabelle vorhanden ist.
Zusammenfassung
In diesem Lab haben Sie die grundlegenden Fähigkeiten für die Arbeit mit Daten in SQLite innerhalb der LabEx VM-Umgebung erlernt. Sie haben eine SQLite-Datenbank und -Tabelle erstellt, Daten mit der INSERT INTO-Anweisung eingefügt, Informationen mit SELECT abgefragt, Datensätze mit UPDATE aktualisiert und Einträge mit DELETE gelöscht. Diese praktischen Übungen boten eine umfassende Einführung in die Datenbankverwaltung und vermittelten Ihnen das grundlegende Wissen, um Daten mit SQLite effektiv zu verwalten.


