Erstellen und Verwalten von SQLite-Datenbanken

SQLiteSQLiteBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie die Grundlagen der Arbeit mit SQLite-Datenbanken mithilfe des sqlite3 Befehlszeilen-Tools. SQLite ist ein leichtgewichtiges, dateibasiertes Datenbanksystem, das ideal für Anfänger ist. Sie erstellen eine Datenbank, erstellen Tabellen, fügen Daten ein, fragen Daten ab, fügen Spalten hinzu, aktualisieren Daten und entfernen schließlich die Datenbankdatei. Los geht's!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sqlite(("SQLite")) -.-> sqlite/SQLiteGroup(["SQLite"]) sqlite/SQLiteGroup -.-> sqlite/init_db("Create SQLite Database") sqlite/SQLiteGroup -.-> sqlite/link_db("Connect To Database") sqlite/SQLiteGroup -.-> sqlite/make_table("Create New Table") sqlite/SQLiteGroup -.-> sqlite/add_rows("Insert Multiple Rows") sqlite/SQLiteGroup -.-> sqlite/get_all("Select All Rows") sqlite/SQLiteGroup -.-> sqlite/query_where("Filter With WHERE") sqlite/SQLiteGroup -.-> sqlite/append_col("Add New Column") sqlite/SQLiteGroup -.-> sqlite/end_db("Close Database Connection") subgraph Lab Skills sqlite/init_db -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} sqlite/link_db -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} sqlite/make_table -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} sqlite/add_rows -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} sqlite/get_all -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} sqlite/query_where -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} sqlite/append_col -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} sqlite/end_db -.-> lab-552337{{"Erstellen und Verwalten von SQLite-Datenbanken"}} end

Erstellen einer SQLite-Datenbank und Verbinden

In diesem Schritt erstellen Sie eine neue SQLite-Datenbankdatei und verbinden sich mit ihr mithilfe des sqlite3 Befehlszeilen-Tools.

  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 Folgendes ausführen:

    cd /home/labex/project
  2. Erstellen Sie eine neue SQLite-Datenbank namens mydatabase.db und verbinden Sie sich mit ihr mithilfe des sqlite3 Befehls:

    sqlite3 mydatabase.db

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

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

Der sqlite3 Befehl wird sowohl zum Erstellen als auch zum Verbinden mit SQLite-Datenbanken verwendet. Wenn die angegebene Datenbankdatei nicht existiert, erstellt SQLite sie. Jetzt können Sie SQL-Befehle innerhalb der SQLite-Umgebung ausführen.

Erstellen der users-Tabelle

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

  1. Stellen Sie sicher, dass Sie noch mit der mydatabase.db-Datenbank aus dem vorherigen Schritt verbunden sind. Wenn nicht, stellen Sie die Verbindung mit folgendem Befehl wieder her:

    sqlite3 mydatabase.db
  2. Erstellen Sie eine Tabelle namens users mit dem folgenden SQL-Befehl:

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

    Dieser Befehl definiert die Struktur der users-Tabelle. Die Spalte id ist eine Ganzzahl und der Primärschlüssel (primary key), wodurch sichergestellt wird, 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 eine Ganzzahl.

Der CREATE TABLE-Befehl ist ein grundlegender SQL-Befehl, der verwendet wird, um die Struktur einer Tabelle in einer Datenbank zu definieren. Die PRIMARY KEY-Beschränkung (constraint) 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 users-Tabelle einfügen

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

  1. Stellen Sie sicher, dass Sie noch mit der mydatabase.db-Datenbank verbunden sind. Wenn nicht, stellen Sie die Verbindung mit folgendem Befehl wieder her:

    sqlite3 mydatabase.db
  2. Fügen Sie die folgenden Datensätze mit dem Befehl INSERT INTO in die users-Tabelle 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 der users-Tabelle drei neue Zeilen hinzu. Jede Zeile enthält eine id, einen name und ein age.

Der INSERT INTO-Befehl wird verwendet, um einer Tabelle neue Zeilen 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 users-Tabelle abfragen

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

  1. Stellen Sie sicher, dass Sie noch mit der mydatabase.db-Datenbank verbunden sind. Wenn nicht, stellen Sie die Verbindung mit folgendem Befehl wieder her:

    sqlite3 mydatabase.db
  2. Rufen Sie alle Daten aus der users-Tabelle mit dem folgenden SQL-Befehl ab:

    SELECT * FROM users;

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

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

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

Eine neue Spalte hinzufügen und Daten aktualisieren

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

  1. Stellen Sie sicher, dass Sie noch mit der mydatabase.db-Datenbank verbunden sind. Wenn nicht, stellen Sie die Verbindung mit folgendem Befehl wieder her:

    sqlite3 mydatabase.db
  2. Fügen Sie der users-Tabelle mit dem Befehl ALTER TABLE eine neue Spalte namens email hinzu:

    ALTER TABLE users ADD COLUMN email TEXT;

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

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

    UPDATE users SET email = '[email protected]' WHERE id = 1;
    UPDATE users SET email = '[email protected]' WHERE id = 2;
    UPDATE users SET email = '[email protected]' WHERE id = 3;

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

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

    SELECT * FROM users;
    1|Alice|25|[email protected]
    2|Bob|30|[email protected]
    3|Charlie|22|[email protected]

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

SQLite beenden und die Datenbankdatei entfernen

In diesem Schritt beenden Sie die SQLite-Schnittstelle und entfernen anschließend 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 mit folgendem Befehl dorthin:

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

    rm mydatabase.db

    Es erfolgt keine Ausgabe, wenn das Löschen erfolgreich war.

  4. Bestätigen Sie, dass die Datei entfernt wurde, indem Sie den Verzeichnisinhalt erneut 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 grundlegenden Fähigkeiten zum Erstellen und Verwalten von SQLite-Datenbanken mit dem sqlite3-Befehlszeilentool erlernt. Sie haben eine Datenbank erstellt, eine Tabelle erstellt, 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.