Real DB Admin erstellt echte Datenbanken. Baby DB Admin erstellt CSV. Und es ist wirklich nervig, CSV- oder sogar JSON-, TSV-, Parquet- oder sogar Textdateien Zeile für Zeile zu manipulieren.
Glücklicherweise habe ich dank Lolilol ein sehr nettes kleines Tool entdeckt, mit dem Sie Datendateien mit SQL bearbeiten können, als ob Sie sich in einer echten Datenbank befänden. Dieses Tool ist OctoSQL und über das klassische SELECT * FROM hinaus können Sie sogar Verknüpfungen zwischen Ihren Dateien erstellen, auch wenn diese unterschiedlichen Typs sind.
Um es zu installieren, gehen Sie zu Github oder direkt mit brew:
brew install cube2222/octosql/octosql
Ansonsten ist es Go, also kann es wie folgt kompiliert werden:
git clone https://github.com/cube2222/octosql cd octosql go install
Und da haben Sie es, dann steckt noch mehr dahinter. Für meine Tests habe ich einige gefälschte CSVs von dieser Site generiert und konnte sie dann in SQL abfragen.
Das klassische SELECT *:
octosql "SELECT * FROM data.csv"
Dann einige Dinge etwas komplizierter:
octosql "SELECT * FROM data.csv WHERE email LIKE '%gov%'"
Und wie ich Ihnen bereits sagte, können wir sogar Verknüpfungen wie diese durchführen:
octosql "SELECT * FROM ID.csv LEFT JOIN data.csv ON ID.id = data.id WHERE email LIKE '%.fr%'"
Es gibt sogar ein Plugin-System, um die Funktionalität des Tools zu erweitern. Sie können beispielsweise das PostgreSQL- oder MySQL-Plugin installieren, um die echte Datenbank mit statischen Datendateien zu mischen. So cool, oder?
Es gibt sogar ein Plugin zum Generieren von Zufallsdaten:
octosql plugin install random_data octosql "SELECT * FROM random_data.users" --describe
Darüber hinaus ist das Tool in der Lage, alle Datenströme zu verwalten. Dies bedeutet, dass Sie eine Abfrage für Daten starten können, die in einem kontinuierlichen Fluss eingehen. Ich lasse Sie diesen letzten Teil testen, da ich ihn nicht zum Laufen bringen konnte.
Hier zu entdecken!