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.
Öffnen Sie ein Terminal in der LabEx VM-Umgebung. Standardmäßig sollten Sie sich im Verzeichnis
/home/labex/projectbefinden. Bestätigen Sie dies, indem Sie den folgenden Befehl ausführen:pwdDie Ausgabe sollte sein:
/home/labex/projectWenn Sie sich nicht in diesem Verzeichnis befinden, navigieren Sie dorthin, indem Sie ausführen:
cd /home/labex/projectErstellen Sie eine neue SQLite-Datenbank namens
mydatabase.dbund verbinden Sie sich mit ihr über den Befehlsqlite3:sqlite3 mydatabase.dbDieser 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.
Fügen Sie der Tabelle
userseine neue Spalte namensemailmit dem BefehlALTER TABLEhinzu:ALTER TABLE users ADD COLUMN email TEXT;Dieser Befehl fügt der Tabelle
userseine neue Spalte namensemailvom TypTEXThinzu.Aktualisieren Sie die Spalte
emailfür jeden Benutzer mit dem BefehlUPDATE: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
emailfür jeden Benutzer mit einer entsprechenden E-Mail-Adresse.Überprüfen Sie die aktualisierten Daten, indem Sie die Tabelle
usersabfragen: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!
Beenden Sie die SQLite-Eingabeaufforderung:
.quitStellen Sie sicher, dass Sie sich im Verzeichnis
/home/labex/projectbefinden. Bestätigen Sie dies mit:pwdDie Ausgabe sollte sein:
/home/labex/projectWenn nicht, navigieren Sie dorthin mit:
cd /home/labex/projectLöschen Sie die Datei
mydatabase.dbmit dem Befehlrm:rm mydatabase.dbWenn die Löschung erfolgreich war, gibt es keine Ausgabe.
Bestätigen Sie, dass die Datei entfernt wurde, indem Sie erneut den Inhalt des Verzeichnisses auflisten:
lsSie sollten
mydatabase.dbnicht 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.


