sqlv is a fast, keyboard-first SQLite explorer for the terminal, built with Ratatui.
It is designed for people who want the feel of a serious database client without leaving the command line: open multiple SQLite files, browse schemas in a sidebar, inspect rows in a full-screen grid, run ad-hoc SQL in query tabs, and move around with familiar Vim-style controls.
- Multi-connection SQLite explorer in the terminal
- Sidebar schema tree with table browsing
- Table tabs and query tabs in one workspace
- Vim-style navigation for tree and table grids
- SQL query editor with syntax coloring
- Schema-aware autocomplete for tables, columns, aliases, keywords, and SQLite functions
- Inline cell editing for editable tables
- Path picker and fuzzy file search when opening new connections
- Blob values displayed as hex strings
sqlv is a full-screen TUI application. A typical layout includes:
- Left sidebar for connections and tables
- Top tab bar for opened tables and query tabs
- Main content area for table data or query editor/results
- Status line with navigation hints
If you want to showcase the app publicly, add screenshots or an asciinema recording here.
- Open SQLite databases from the current directory by default
- Type a full path directly
- Navigate directories in path mode
- Use fuzzy search to locate files under the current directory tree
- Keep multiple database connections open at the same time
- Collapsible connection tree
- Per-database table listing
- Open tables directly from the sidebar
- Sidebar supports Vim-style vertical movement including half-page jumps
- Row grid that uses the full available width
- Horizontal and vertical navigation
- Half-page scrolling with
Ctrl+dandCtrl+u - Page navigation with:
nnext pageNprevious page[first page]last page
- Row/page metadata in the title bar
- Inline editing for tables with a reliable row identity
- Per-connection query tabs
- Editor on top, results below
- Syntax coloring for SQL
- Autocomplete for:
- SQL keywords
- SQLite functions
- snippets
- tables
- columns
- aliases
- Execute the current statement with
Ctrl+EnterorF5 - Read and write statements supported
- Rust and Cargo
make installThis builds the release binary and creates a symlink at ~/.local/bin/sqlv by default.
You can also run the installer directly:
./scripts/install.shOptional flags:
./scripts/install.sh --prefix /custom/bin
./scripts/install.sh --forceRun locally:
make runCommon commands:
make check
make test
make fmt
make buildLaunch:
sqlvoopen a SQLite databasetopen a new query tabTabcycle focusxclose the active tabqquit
j/kmoveCtrl+d/Ctrl+uhalf-page down/upg/Gfirst/last itemhcollapselexpandEnteropen or activate
h/j/k/lmove cell focusCtrl+d/Ctrl+uhalf-page down/upg/Gfirst/last row in the loaded pagen/Nnext/previous page[/]first/last pageeedit selected cellrreload table
Ctrl+EnterorF5execute current statementCtrl+p/Ctrl+nquery historyEsctoggle insert/normal modeTabmove between editor and results
This project is functional and already useful for local SQLite exploration, but it is still evolving.
Areas that can be improved:
- better result virtualization for very large datasets
- richer file search and filtering modes
- more advanced SQL editor ergonomics
- schema object browsing beyond tables
- exports, copy/yank helpers, and richer cell viewers
Issues and pull requests are welcome.
Good contributions include:
- bug fixes
- editor and autocomplete improvements
- UX polish for navigation and layout
- performance work on large schemas and tables
- better documentation and demos
MIT. See LICENSE.