Command-line tools for browsing database tables, executing SQL queries, and managing data directly within your terminal.
Rainfrog is a terminal-based database client that connects to multiple database engines, combining schema browsing, interactive SQL query execution, and inline data editing into a single terminal interface. It provides a tree navigator for exploring tables, columns, and indexes, and an inline cell editor that automatically constructs and executes the necessary UPDATE statements when a cell value is changed. The application also supports modal Vim-style keyboard shortcuts for cursor movement and editing, making it usable entirely from the keyboard. Query results are fetched in chunks and paginated on demand, allowing smooth scrolling through large datasets without overwhelming the terminal. System metadata is cached at connection time to speed up schema tree navigation, and the user interface is built on a retained-mode widget tree that renders via a framebuffer with mouse and keyboard event handling. Keybindings, display settings, and mouse capture behavior are all configurable through a YAML file loaded at startup. Connections can be configured using connection strings or individual parameters such as host, port, and credentials. The client supports saving frequently used SQL queries as named favorites for quick replay and can export query results or entire tables to CSV files saved to the system downloads directory.
Rainfrog is a terminal-based database client that provides schema exploration, interactive SQL execution, and tabular data visualization with full keyboard-driven navigation, making it a comprehensive solution for your requirements.
usql is a universal SQL command-line interface used to connect to and manage multiple SQL and NoSQL databases through a single unified tool. It provides a standardized interface for executing queries across various data stores and serves as a multi-database query tool and schema inspector. The tool distinguishes itself by enabling cross-database data migration, allowing users to pipe result sets from one active database connection directly into another. It also features terminal-based data visualization, which renders query results as graphical charts, graphs, and images directly within the terminal. Its broader capabilities include database schema exploration, automated tasking via configuration scripts, and the ability to output query results in multiple formats such as CSV, JSON, and HTML. It manages connectivity using standardized connection strings and supports secure credential loading from external local files. Global settings and session preferences are managed through YAML-based configuration files.
This is a comprehensive terminal-based database client that supports multi-database connections, schema exploration, and keyboard-driven SQL execution, while uniquely offering terminal-based data visualization.
LazySQL is a terminal user interface database manager and SQL client. It functions as a query runner and connection manager for interacting with SQL databases from the command line. The project features a read-only connection mode that blocks mutation commands to prevent accidental data loss. It supports automated pre-connection tasks, including the execution of shell commands and the establishment of SSH tunnels, and allows for both global and project-specific configuration. The interface provides a tree-based schema browser for navigating tables, a dedicated SQL query editor with tabular results, and tools for direct table data manipulation. It includes a JSON data viewer, foreign key relationship navigation for jumping between related records, and batch-based CSV export for large datasets. The application utilizes asynchronous query management to maintain interface responsiveness and supports custom keybindings and external editor integration.
LazySQL is a terminal-based database manager that provides a comprehensive suite of features including SQL query execution, schema exploration, and tabular data visualization, making it a direct fit for your requirements.
pgcli is an interactive command-line interface and database management tool for PostgreSQL. It functions as an interactive SQL shell and query editor that allows users to inspect schemas, manage connections, and run queries against PostgreSQL data sources. The tool is distinguished by its real-time, schema-aware autocompletion for keywords, tables, and columns, as well as dynamic SQL syntax highlighting. It provides safety mechanisms through transaction-aware guardrails that warn against or block destructive statements when no active transaction is detected. Broad capabilities include secure database connectivity via URIs, DSNs, and SSH tunneling, along with a customizable terminal interface supporting Vi keybindings and external editor integration. The system also handles data visualization through result-set paging and multiple formatting modes, while offering utilities for SQL data export and periodic query execution.
This is a terminal-based database client that provides robust SQL execution, schema exploration, and tabular visualization, though it is specifically tailored for PostgreSQL rather than supporting multiple database engines.
SQL Chat is a Docker-deployed chat interface that translates natural language questions into SQL queries and executes them against connected databases. It uses a large language model to generate SQL from plain English instructions, supporting both querying and record modification through INSERT, UPDATE, and DELETE statements within the chat conversation flow. The application connects to MySQL, PostgreSQL, MSSQL, TiDB Cloud, and OceanBase databases through a unified driver abstraction layer, allowing users to interact with multiple database types from a single chat interface. Users provide their own OpenAI API key for authentication, or can configure a custom API endpoint to use self-hosted or third-party AI models like Ollama. An optional database-backed account system tracks per-user usage, enforces spending limits, and processes payments. The project is packaged as a Docker container with environment variable configuration for authentication and AI service settings, enabling straightforward self-hosted deployment.
This is a chat-based natural language interface for databases rather than a terminal-based client designed for direct SQL execution, schema exploration, and keyboard-driven navigation.