Erstellen und Verwalten von SQLite-Datenbanken

SQLiteBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie die Grundlagen der Arbeit mit SQLite-Datenbanken mithilfe des Befehlszeilen-Tools sqlite3. SQLite ist ein leichtgewichtiges, dateibasiertes Datenbanksystem, das sich ideal für Anfänger eignet. Sie werden eine Datenbank erstellen, Tabellen anlegen, Daten einfügen, Daten abfragen, Spalten hinzufügen, Daten aktualisieren und schließlich die Datenbankdatei löschen. Los geht's!

Eine SQLite-Datenbank erstellen und verbinden

In diesem Schritt erstellen Sie eine neue SQLite-Datenbankdatei und verbinden sich mit ihr über das Befehlszeilen-Tool sqlite3.

  1. Öffnen Sie ein Terminal in der LabEx VM-Umgebung. Standardmäßig sollten Sie sich im Verzeichnis /home/labex/project befinden. Bestätigen Sie dies, indem Sie den folgenden Befehl ausführen:

    pwd
    

    Die Ausgabe sollte sein:

    /home/labex/project
    

    Wenn Sie sich nicht in diesem Verzeichnis befinden, navigieren Sie dorthin, indem Sie ausführen:

    cd /home/labex/project
    
  2. Erstellen Sie eine neue SQLite-Datenbank namens mydatabase.db und verbinden Sie sich mit ihr über den Befehl sqlite3:

    sqlite3 mydatabase.db
    

    Dieser Befehl erstellt die Datei mydatabase.db, falls sie nicht existiert, und öffnet eine Verbindung dazu. Sie sehen die SQLite-Eingabeaufforderung:

    SQLite version 3.x.x
    Enter ".help" for usage hints.
    sqlite>
    

Der Befehl sqlite3 wird sowohl zum Erstellen als auch zum Verbinden mit SQLite-Datenbanken verwendet. Wenn die angegebene Datenbankdatei nicht existiert, erstellt SQLite sie. Nun sind Sie bereit, SQL-Befehle innerhalb der SQLite-Umgebung auszuführen.

Die Tabelle 'users' erstellen

In diesem Schritt erstellen Sie eine Tabelle namens users innerhalb der Datenbank mydatabase.db.

Geben Sie am SQLite-Prompt eine Tabelle namens users mit dem folgenden SQL-Befehl an:

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER
);

Dieser Befehl definiert die Struktur der Tabelle users. Die Spalte id ist ein Integer und der Primärschlüssel (PRIMARY KEY), der sicherstellt, dass jeder Benutzer eine eindeutige Kennung hat. Die Spalte name ist ein Textfeld, das nicht leer gelassen werden darf (NOT NULL), und die Spalte age ist ein Integer.

Der Befehl CREATE TABLE ist ein grundlegender SQL-Befehl, der zur Definition der Struktur einer Tabelle in einer Datenbank verwendet wird. Die PRIMARY KEY-Beschränkung stellt sicher, dass die Spalte id eindeutige Werte für jede Zeile enthält, und die NOT NULL-Beschränkung stellt sicher, dass die Spalte name nicht leer sein darf.

Daten in die Tabelle 'users' einfügen

Nachdem Sie die Tabelle users erstellt haben, können Sie Daten darin einfügen. Dies beinhaltet das Hinzufügen von Zeilen (Datensätzen) zur Tabelle, wobei jede Zeile einen Benutzer und seine entsprechenden Informationen darstellt.

Fügen Sie die folgenden Datensätze mit dem Befehl INSERT INTO in die Tabelle users ein:

INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30);
INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 22);

Diese Befehle fügen drei neue Zeilen zur Tabelle users hinzu. Jede Zeile enthält eine id, einen name und ein age.

Der Befehl INSERT INTO wird verwendet, um neue Zeilen zu einer Tabelle hinzuzufügen. Die in der VALUES-Klausel angegebenen Werte werden in die entsprechenden Spalten eingefügt, die in den Klammern nach dem Tabellennamen aufgeführt sind.

Daten aus der Tabelle 'users' abfragen

In diesem Schritt lernen Sie, wie Sie mit dem Befehl SELECT Daten aus der Tabelle users abfragen. Dies ermöglicht es Ihnen, spezifische Informationen aus der Datenbank abzurufen.

Rufen Sie alle Daten aus der Tabelle users mit dem folgenden SQL-Befehl ab:

SELECT * FROM users;

Dieser Befehl wählt alle Spalten (*) aus allen Zeilen der Tabelle users aus. Die Ausgabe zeigt die Daten an, die Sie im vorherigen Schritt eingefügt haben. Sie sollten etwas Ähnliches wie dies sehen:

1|Alice|25
2|Bob|30
3|Charlie|22

Der Befehl SELECT ist ein mächtiges Werkzeug zum Abrufen von Daten aus einer Datenbank. Das Platzhalterzeichen * gibt an, dass alle Spalten ausgewählt werden sollen. Sie können auch spezifische Spalten auswählen, indem Sie deren Namen durch Kommas getrennt auflisten (z. B. SELECT name, age FROM users;).

Neue Spalte hinzufügen und Daten aktualisieren

In diesem Schritt fügen Sie der Tabelle users eine neue Spalte namens email hinzu und aktualisieren dann die vorhandenen Datensätze mit E-Mail-Adressen.

  1. Fügen Sie der Tabelle users eine neue Spalte namens email mit dem Befehl ALTER TABLE hinzu:

    ALTER TABLE users ADD COLUMN email TEXT;
    

    Dieser Befehl fügt der Tabelle users eine neue Spalte namens email vom Typ TEXT hinzu.

  2. Aktualisieren Sie die Spalte email für jeden Benutzer mit dem Befehl UPDATE:

    UPDATE users SET email = 'alice@example.com' WHERE id = 1;
    UPDATE users SET email = 'bob@example.com' WHERE id = 2;
    UPDATE users SET email = 'charlie@example.com' WHERE id = 3;
    

    Diese Befehle aktualisieren die Spalte email für jeden Benutzer mit einer entsprechenden E-Mail-Adresse.

  3. Überprüfen Sie die aktualisierten Daten, indem Sie die Tabelle users abfragen:

    SELECT * FROM users;
    
    1|Alice|25|alice@example.com
    2|Bob|30|bob@example.com
    3|Charlie|22|charlie@example.com
    

Der Befehl ALTER TABLE wird verwendet, um die Struktur einer vorhandenen Tabelle zu ändern. In diesem Fall fügen wir eine neue Spalte hinzu. Der Befehl UPDATE wird verwendet, um vorhandene Daten in einer Tabelle zu ändern. Die Klausel SET gibt an, welche Spalte aktualisiert werden soll und welchen neuen Wert sie erhalten soll. Die Klausel WHERE gibt an, welche Zeilen basierend auf einer Bedingung aktualisiert werden sollen.

SQLite beenden und die Datenbankdatei entfernen

In diesem Schritt beenden Sie die SQLite-Oberfläche und entfernen dann die Datenbankdatei. Da SQLite alle Daten in einer einzigen Datei speichert, ist das Entfernen einer Datenbank so einfach wie das Löschen der Datei mit dem Befehl rm. Seien Sie vorsichtig, da diese Aktion dauerhaft ist!

  1. Beenden Sie die SQLite-Eingabeaufforderung:

    .quit
    
  2. Stellen Sie sicher, dass Sie sich im Verzeichnis /home/labex/project befinden. Bestätigen Sie dies mit:

    pwd
    

    Die Ausgabe sollte sein:

    /home/labex/project
    

    Wenn nicht, navigieren Sie dorthin mit:

    cd /home/labex/project
    
  3. Löschen Sie die Datei mydatabase.db mit dem Befehl rm:

    rm mydatabase.db
    

    Wenn die Löschung erfolgreich war, gibt es keine Ausgabe.

  4. Bestätigen Sie, dass die Datei entfernt wurde, indem Sie erneut den Inhalt des Verzeichnisses auflisten:

    ls
    

    Sie sollten mydatabase.db nicht mehr in der Ausgabe sehen, was bestätigt, dass die Datei gelöscht wurde.

Der Befehl .quit beendet die SQLite-Shell und kehrt zum Linux-Terminal zurück. Der Befehl rm ist ein Standard-Linux-Befehl zum Löschen von Dateien. In diesem Fall entfernt er dauerhaft die Datei mydatabase.db, die alle Daten und die Struktur Ihrer SQLite-Datenbank enthält.

Zusammenfassung

In diesem Lab haben Sie die wesentlichen Fähigkeiten zur Erstellung und Verwaltung von SQLite-Datenbanken mit dem Befehlszeilenwerkzeug sqlite3 erlernt. Sie haben eine Datenbank erstellt, eine Tabelle angelegt, Daten eingefügt, die Daten abgefragt, eine neue Spalte hinzugefügt, Daten aktualisiert und schließlich die Datenbankdatei entfernt. Diese Schritte bieten eine solide Grundlage für die Arbeit mit SQLite-Datenbanken.