Datenbank im Terminal

Mo, 31. Mai 2021, Ralf Hersel

Man muss nicht immer einen grossen Aufwand betreiben, um gute Ergebnisse zu erreichen. Als Beispiel, zeige ich euch, wie ihr eine relationale Datenbank mit wenigen Befehlen erzeugt und abfragen könnt. Dafür verwende ich die Datenbank SQLite auf der Kommandzeile. SQLite ist eine gemeinfreie Programmbibliothek, die ein relationales Datenbanksystem enthält. SQLite wird in Mobiltelefonen (Android, iOS, Symbian OS, Windows Phone), in Browsern (Firefox, Safari, Chrome), Skype und vielen anderen Anwendungen eingesetzt. Es ist das verbreitetste und meistverwendete Datenbanksystem der Welt.

Bevor man eine einfache Datenbank anlegen kann, muss diese zuerst installiert werden. Dies geschieht mit diesem Kommando, für Debian-basierte Distributionen:

sudo apt install sqlite3

Um eine neue Datenbank zu erzeugen, startet man SQLite mit diesem Befehl: sqlite name_der_datenbank, also zum Beispiel:

sqlite db

... wenn die Datenbank ganz einfach 'db' heissen soll. Nun wechselt man in den Interpreter-Modus von SQLite, indem man sqlite eintippt. Dann stehen sehr viele Befehle zur Bedienung der Datenbank zur Verfügung. In diesem Modus gilt es nun, eine Tabelle namens 'Person' zu erzeugen:

sqlite> create table person(vorname varchar(20), nachname varchar(20), geburt date);

Das sqlite> muss man nicht eingeben; das ist der Prompt des SQLite-Interpreters. Mit diesem Befehl wurde eine Tabelle mit drei Spalten (Vorname, Nachname, Geburtsdatum) angelegt. Um zu überprüfen, was man bisher getan hat, kann man eingeben:

sqlite> .databases
main: /home/ralf/db
sqlite> .tables
person
sqlite> .schema
CREATE TABLE person(vorname varchar(20), nachname varchar(20), geburt date);

Hier sieht man, welche Datenbanken und Tabellen es gibt, und wie das Schema der Tabellen aussieht. Nun fügen wir ein paar Daten in die Tabelle 'person' ein:

sqlite> insert into person values ('Anna', 'Alfa', '1964-12-19');
sqlite> insert into person values ('Berta', 'Beta', '1980-05-27');
sqlite> insert into person values ('Gustav', 'Gamma', '1970-02-17');

Nun kann der Inhalt der Tabelle abgefragt werden:

sqlite> select * from person;
Gustav|Gamma|1970-02-17
Berta|Beta|1980-05-27
Anna|Alfa|1964-12-19

Der SQLite-Interpreter kann mit dem Befehl Ctrl+d wieder verlassen werden.

Selbstverständlich gibt es hunderte weitere Befehle um die Datenbank bewirtschaften zu können. Der Artikel sollte lediglich aufzeigen, wie einfach es ist, eine relationale Datenbank im Terminal zu erstellen, abzufüllen und Abfragen zu stellen. Weiterführende Informationen findet ihr bei der Quelle.

Quelle: https://sqlite.org/cli.html