lazysql - Terminal Datenbank-Management Spickzettel
lazysql ist eine plattformübergreifende Terminal UI für Datenbank-Management, geschrieben in Go (im Geiste von lazygit/lazydocker). Es verbindet sich zu MySQL, PostgreSQL, SQLite und MSSQL und lässt dich Schemas und Tabellen durchsuchen, SQL ausführen, Ergebnisse durchblättern und Zeilen bearbeiten — mit Vim-ähnlichen Tasten, mehrfachen Verbindungen und getabbten Ansichten — alles ohne das Terminal zu verlassen.
Installation
| Plattform | Befehl |
|---|
| Go Install | go install github.com/jorgerojas26/lazysql@latest |
| macOS (Homebrew) | brew install lazysql |
| Arch Linux (AUR) | yay -S lazysql |
| Binary | von der GitHub Releases Seite herunterladen |
| Überprüfung | lazysql --version |
Starten
| Befehl | Beschreibung |
|---|
lazysql | Verbindungs-Manager öffnen |
lazysql "mysql://user:pass@localhost:3306/db" | Über URL verbinden |
lazysql "postgres://user:pass@localhost:5432/db" | PostgreSQL URL |
lazysql /path/to/file.sqlite3 | Eine SQLite-Datei öffnen |
lazysql --help | Vollständige Optionsliste |
Verbindungs-URLs
| Datenbank | Beispiel URL |
|---|
| MySQL | mysql://user:pass@host:3306/dbname |
| PostgreSQL | postgres://user:pass@host:5432/dbname |
| SQLite | sqlite3:///absolute/path.db oder ein Dateipfad |
| MSSQL | sqlserver://user:pass@host:1433?database=dbname |
Gespeicherte Verbindungen bleiben in lazysqls Config erhalten damit du sie nächstes Mal vom Manager auswählen kannst.
Kern-Tastenbindungen
| Taste | Aktion |
|---|
Ctrl+e | Eine neue Verbindung öffnen/bearbeiten |
Enter | Verbinden / das ausgewählte Element öffnen |
Tab / Backtab | Zwischen Fenstern bewegen (Baum, Ergebnisse, Editor) |
L | SQL-Editor fokussieren |
H | Tabellen/Sidebar fokussieren |
q | Beenden |
? | Hilfe / Tastenbindungs-Referenz |
Daten navigieren
| Taste | Aktion |
|---|
j / k | Zeile runter / rauf bewegen |
h / l | Spalte links / rechts bewegen |
g / G | Zur ersten / letzten Zeile springen |
Ctrl+f / Ctrl+b | Seite vorwärts / zurück |
/ | In Ergebnissen filtern/suchen |
c | Die ausgewählte Zelle bearbeiten |
d | Die ausgewählte Zeile löschen |
o | Eine neue Zeile hinzufügen |
SQL ausführen
| Taste/Aktion | Beschreibung |
|---|
Editor fokussieren (L), SQL eingeben | Eine Abfrage schreiben |
Ctrl+r | Die aktuelle Abfrage ausführen |
| Ergebnisse Pane | Die zurückgegebenen Zeilen durchsuchen |
| Mehrfache Tabs | Mehrere Abfragen/Ergebnis-Sets offen halten |
-- Im Editor Pane, dann Ctrl+r zum Ausführen
SELECT id, email, created_at
FROM users
WHERE created_at > NOW() - INTERVAL 7 DAY
ORDER BY created_at DESC;
Bearbeitungs-Workflow
| Schritt | Wie |
|---|
| Zelle bearbeiten | Auswählen, c drücken, eingeben, bestätigen |
| Änderungen staging | lazysql clustert Edits |
| Committen | Staged Änderungen auf die Datenbank anwenden |
| Verwerfen | Staged Änderungen vor Commit verwerfen |
Häufige Workflows
# Eine lokale SQLite-Datenbank schnell inspizieren
lazysql ./app.db
# Mit einem Dev Postgres verbinden und Tabellen durchsuchen
lazysql "postgres://dev:dev@localhost:5432/myapp?sslmode=disable"
# Mehrfache Verbindungen und Tabs für eine Migrations-Überprüfung halten
lazysql # Verbindungen im Manager hinzufügen, mit Tabs wechseln
lazysql vs Andere DB Clients
| Aspekt | lazysql | Harlequin | psql/mysql CLI |
|---|
| Interface | TUI, Multi-DB | TUI SQL IDE | Plain REPL |
| Tastenbindungen | Vim-ähnlich | Editor-Style | Readline |
| Daten-Bearbeitung | Inline Zellen-Bearbeitung | Query-getrieben | Nur SQL |
| Am besten für | Durchsuchen + leichte Edits | Writing/Iterating SQL | Scripting, Admin |
Ressourcen