lazysql - Gestion de base de données du terminal
lazysql est une interface utilisateur de terminal pour gérer les bases de données, écrite en Go (dans l”esprit de lazygit/lazydocker). Elle se connecte à MySQL, PostgreSQL, SQLite et MSSQL, et vous permet de parcourir les schémas et les tableaux, d”exécuter SQL, de parcourir les résultats par page et d”éditer les lignes — avec des touches de style Vim, plusieurs connexions et des vues à onglets — tout sans quitter le terminal.
Installation
| Plateforme | Commande |
|---|
| Go install | go install github.com/jorgerojas26/lazysql@latest |
| macOS (Homebrew) | brew install lazysql |
| Arch Linux (AUR) | yay -S lazysql |
| Binaire | télécharger depuis la page GitHub Releases |
| Vérifier | lazysql --version |
Lancement
| Commande | Description |
|---|
lazysql | Ouvrir le gestionnaire de connexion |
lazysql "mysql://user:pass@localhost:3306/db" | Se connecter via URL |
lazysql "postgres://user:pass@localhost:5432/db" | URL PostgreSQL |
lazysql /path/to/file.sqlite3 | Ouvrir un fichier SQLite |
lazysql --help | Liste complète des options |
URLs de connexion
| Base de données | Exemple d”URL |
|---|
| MySQL | mysql://user:pass@host:3306/dbname |
| PostgreSQL | postgres://user:pass@host:5432/dbname |
| SQLite | sqlite3:///absolute/path.db ou un chemin de fichier |
| MSSQL | sqlserver://user:pass@host:1433?database=dbname |
Les connexions enregistrées persistent dans la configuration de lazysql pour que vous puissiez les choisir dans le gestionnaire la prochaine fois.
Liaisons de clés principales
| Touche | Action |
|---|
Ctrl+e | Ouvrir/éditer une nouvelle connexion |
Entrée | Se connecter / ouvrir l”élément sélectionné |
Tab / Backtab | Déplacer entre les volets (arbre, résultats, éditeur) |
L | Mettre le focus sur lӎditeur SQL |
H | Mettre le focus sur les tableaux/barre latérale |
q | Quitter |
? | Aide / référence de liaison de clés |
Navigation des données
| Touche | Action |
|---|
j / k | Déplacer la ligne vers le bas / haut |
h / l | Déplacer la colonne vers la gauche / droite |
g / G | Accéder à la première / dernière ligne |
Ctrl+f / Ctrl+b | Page avant / arrière |
/ | Filtrer/chercher dans les résultats |
c | Éditer la cellule sélectionnée |
d | Supprimer la ligne sélectionnée |
o | Ajouter une nouvelle ligne |
Exécution de SQL
| Touche/Action | Description |
|---|
Focus sur l”éditeur (L), tapez SQL | Écrire une requête |
Ctrl+r | Exécuter la requête actuelle |
| Volet de résultats | Parcourir les lignes retournées |
| Onglets multiples | Garder plusieurs requêtes/ensembles de résultats ouverts |
-- Dans le volet éditeur, puis Ctrl+r pour exécuter
SELECT id, email, created_at
FROM users
WHERE created_at > NOW() - INTERVAL 7 DAY
ORDER BY created_at DESC;
Flux de travail dӎdition
| Étape | Comment |
|---|
| Éditer une cellule | La sélectionner, appuyer sur c, taper, confirmer |
| Mettre en scène les changements | lazysql regroupe les éditions |
| Valider | Appliquer les changements mis en scène à la base de données |
| Abandonner | Supprimer les changements mis en scène avant la validation |
Flux de travail courants
# Inspecter rapidement une base de données SQLite locale
lazysql ./app.db
# Se connecter à un Postgres de développement et parcourir les tableaux
lazysql "postgres://dev:dev@localhost:5432/myapp?sslmode=disable"
# Garder plusieurs connexions et onglets pour un examen de migration
lazysql # ajouter des connexions dans le gestionnaire, basculer avec les onglets
lazysql vs Autres clients BD
| Aspect | lazysql | Harlequin | psql/mysql CLI |
|---|
| Interface | TUI, multi-BD | TUI SQL IDE | REPL brut |
| Liaisons de clés | Style Vim | Style éditeur | Readline |
| Édition de données | Édition de cellule intégrée | Pilotée par requête | SQL uniquement |
| Meilleur pour | Parcourir + éditions légères | Écrire/itérer SQL | Scripting, admin |
Ressources