Arbeiten mit Daten in SQLite

SQLiteBeginner
Jetzt üben

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:

  • id eine Ganzzahl (Integer) ist, die für jeden neuen Eintrag automatisch erhöht wird. Die PRIMARY KEY (Primärschlüssel)-Beschränkung stellt sicher, dass jede id eindeutig ist, und AUTOINCREMENT sorgt für die automatische Erhöhung.
  • name ein Textfeld ist, das nicht leer gelassen werden darf (NOT NULL).
  • email ist 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 Spalten name und email der Tabelle users einfü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 users wählt alle Spalten aus der Tabelle users aus.
  • WHERE name = 'Alice' filtert die Ergebnisse, um nur Zeilen einzuschließen, in denen die Spalte name gleich '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 users gibt an, dass Sie die Tabelle users aktualisieren.
  • SET email = 'bob.new@example.com' legt den neuen Wert für die Spalte email fest.
  • WHERE name = 'Bob' filtert die Aktualisierung so, dass sie nur auf die Zeile angewendet wird, in der der name '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 users gibt an, dass Sie aus der Tabelle users löschen.
  • WHERE name = 'Charlie' filtert die Löschung so, dass sie nur auf die Zeile angewendet wird, in der der name '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.