📈 GH Trending Explorer 🎲 Surprise me

← all repos

kackerx / sqlmux

git clone https://github.com/kackerx/sqlmux.git v0.6.0 · 1d ago

A tmux-style terminal database client with Vim keybindings for PostgreSQL, MySQL, Redis, and more.

—
stars, 24h
—
stars, 7 days
+121
stars, 30 days · #1,928
121
★ total
7
forks · 1 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageGo
LicenseMIT
Created2026-09-29 (21d ago)
Last pushtoday
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
**If you live in tmux and vim, your database client should too.**
Made for people like you, by one of you.
Watch the 68-second tour (MP4): a SQLite table, the palette and quick SQL, split panes and sessions, Redis keys and the console.
## Install
 [code] 
| | |
|---|---|
| Homebrew (macOS, Linux) | `brew install kackerx/tap/sqlmux` |
| npm (no Go needed) | `npm install -g sqlmux`, or `npx sqlmux` to try it |
| Go 1.26+ | `go install github.com/kackerx/sqlmux/cmd/sqlmux@latest` |
| Binaries | macOS and Linux, amd64 and arm64, on the Releases page, with `checksums.txt` |
The icons come from a Nerd Font. Without one they show up as boxes: put `icons = "ascii"` in `~/.config/sqlmux/config.toml`.
Then open something:
 [code] 
The quickstart goes from here to editing your first row.
## Features
- **tmux inside.** Sessions, windows, split panes and tabs, with `SPC` as the leader (`SPC %` splits, `SPC c` opens a window, `SPC s` lists sessions). Each session sees all your connections. The layout you quit from comes back next time, and you can save named layouts.
- **Edit tables in place.** Change cells, add and delete rows, then `C-s` saves everything in one transaction. Enum, boolean and time columns get pickers; long text and JSON open in a value editor.
- **Table tabs.** A WHERE input with completion, history and favorites; multi-column ORDER, LIMIT, paging, a column picker, transpose, filter by a cell's value, export to CSV or JSON.
- **A vim editor for SQL**, diff-tested against nvim: operators and text objects, VISUAL and block selection, registers, search, `:s`, formatting with `gq`. Results go to a bottom pane, one tab per query, which you can pin.
- **Completion and signature hints.** Tables, columns, keywords and functions as you type, with fuzzy matching; enum values where a value goes; a line above the cursor that says which column the value you are typing is for.
- **Command palette** (`C-p`) for every command, table, tab, window and session, with a DDL preview. **Quick SQL** (`;`) runs a one-off statement from anywhere.
- **JSON view** (`gj`) of a table page or a result, read-only with vim movement and search.
- **Redis**: a tree of databases, namespaces and keys read with `SCAN`; each key (string, hash, list, set, zset, stream, RedisJSON) as an editable table; a console with completion and signatures from the server's `COMMAND DOCS`. See Redis.
- **Every key can be rebound**, per pane type, plus vim-style maps (`J = "5j"`). `vim = false` gives plain editors and arrow keys.
- Passwords from the OS keychain, a command (`pass`, `op`, …) or an environment variable; SSH tunnels through `~/.ssh/config`; read-only connections; manual transactions; themes; Nerd Font or ASCII icons; English or Chinese UI.
## Safety
sqlmux edits live databases, so it has guards against mistakes. They are not a permission boundary: for production data, connect with a read-only database account.
- **Read-only connections** (`read_only = true`) are enforced twice. sqlmu