lazytables

Crates.iolazytables
lib.rslazytables
version0.2.3
created_at2025-08-15 11:48:55.066624+00
updated_at2025-10-14 11:11:53.052807+00
descriptionTerminal-based SQL database viewer and editor with vim-style navigation
homepagehttps://github.com/yuyudhan/LazyTables
repositoryhttps://github.com/yuyudhan/LazyTables
max_upload_size
id1796623
size1,129,089
Ankur Pandey (yuyudhan)

documentation

https://github.com/yuyudhan/LazyTables/tree/main/docs

README

LazyTables

Crates.io License: WTFPL Rust Version

"Because life's too short for clicking around in database GUIs"

Fast, terminal-based SQL database viewer and editor with vim-style navigation. Built in Rust for developers who live in the terminal.


✨ Why LazyTables?

  • Lightning Fast - Built in Rust for maximum performance
  • ⌨️ Keyboard-First - Vim-style navigation, never touch the mouse
  • 🎯 Six-Pane Layout - Efficient workspace optimized for database work
  • 🔍 Smart Query Editor - Syntax highlighting, auto-completion, execute at cursor
  • 🔐 Secure - Encrypted credential storage with AES-GCM
  • 🎨 Beautiful TUI - Elegant interface built with Ratatui
  • 🚀 Zero Config - Works out of the box with sensible defaults

📦 Installation

Quick Install (Recommended)

cargo install lazytables

Faster Install with Pre-built Binaries

cargo install cargo-binstall
cargo binstall lazytables

From Source

git clone https://github.com/yuyudhan/LazyTables.git
cd LazyTables
cargo install --path .

Prerequisites: Rust 1.70+, Terminal with 256 color support, macOS or Linux

📖 Detailed Installation Guide


🚀 Quick Start

lazytables

First time:

  1. Press a to add a connection
  2. Press Enter to connect
  3. Press 2 to browse tables
  4. Press ? for help

Navigate: 1-6 for direct pane access, Tab/Shift+Tab to cycle.


🗄️ Supported Databases

Database Status Icon
PostgreSQL ✅ Full Support 🐘
MySQL ✅ Full Support 🐬
SQLite ✅ Full Support 📁
MariaDB ✅ Full Support 🔱

Coming Soon: Oracle, Redis, MongoDB, DB2, ClickHouse


✨ Key Features

Six-Pane Layout - Connections, Tables, Details, Query Results, SQL Editor, SQL Files

Schema Viewing - Toggle Data/Schema views with t: columns, indexes, foreign keys, constraints, statistics

Vim Navigation - h/j/k/l, gg/G, 0/$, number keys 1-6 for instant pane switching

Query Editor - Execute at cursor (Ctrl+Enter), syntax highlighting, auto-completion, file management

Security - Encrypted credential storage with AES-GCM


📚 Documentation


🎮 Essential Key Bindings

Global Navigation

  • 1-6 - Jump directly to pane by number
  • Tab / Shift+Tab - Cycle through panes
  • ? - Toggle help overlay
  • q - Quit application

Connection Management

  • a - Add new connection
  • e - Edit connection
  • d - Delete connection
  • Enter - Connect to database

Query Execution

  • Ctrl+Enter - Execute SQL at cursor
  • Ctrl+S - Save current query
  • Ctrl+N - New timestamped query file
  • i - Enter insert mode (Query Editor only)

Table Operations

  • t - Toggle Data/Schema view
  • r - Refresh data
  • h/j/k/l - Navigate cells
  • gg/G - Jump to first/last row

📖 Complete Key Bindings Reference


🎯 Status Indicators

Connection: Connected | Not connected | Failed | Connecting

Database: 🐘 PostgreSQL | 🐬 MySQL/MariaDB | 📁 SQLite


🤝 Contributing

Report Bugs | Request Features | Submit PRs

📜 License

WTFPL - Do What The Fuck You Want To Public License

Commit count: 213

cargo fmt