Features
June 30, 2026 ยท View on GitHub
Query Management
Save, organize, and execute your SQL queries with ease.
# Add queries with auto-incrementing IDs
squix add daily_report "SELECT * FROM sales WHERE date = CURRENT_DATE"
squix add user_count "SELECT COUNT(*) FROM users"
squix add employees "SELECT TOP 10 * FROM employees ORDER BY last_name"
# Add parameterized queries with :param|default syntax
squix add emp_by_salary "SELECT * FROM employees WHERE salary > :min_sal|30000"
squix add search_users "SELECT * FROM users WHERE name LIKE :name|P% AND status = :status|active"
# When creating queries with params and not default, squix will prompt you for the param value every time you run the query
squix add search_by_name "SELECT * FROM employees where first_name = :name"
# Run parameterized queries with named parameters (order doesn't matter!)
squix run emp_by_salary --min_sal 50000
squix run search_users --name Michael --status active
# Or use positional args (must match SQL order)
squix run search_users Michael active
# List all saved queries
squix list
# Search for specific queries
squix list emp # Finds queries with 'emp' in name or SQL
squix list employees --oneline # displays each query in one line
# Run by name or ID
squix run daily_report
squix run 2
# Edit query before running (great for testing parameter values)
squix run emp_by_salary --edit
TUI Table Viewer
Navigate query results with Vim-style keybindings, update cells in-place, delete rows and copy data
Key Features:
- Syntax-highlighted SQL display
- Column type indicators
- Primary key markers
- Live cell editing
- Visual selection mode
- Help overlay (
H) with context-aware keybind reference - Configurable keybindings via
config.yaml
Connection Switching
Manage multiple database connections and switch between them instantly.
# List all connections
squix list connections
squix use production
Display current connection and check if it is reachable
squix status
Database Exploration
Explore your database schema and visualize relationships between tables.
# List all tables and views in multi-column format
squix explore
# Query a table directly
squix explore employees --limit 100
# View a local CSV file in the results view (read-only)
squix explore sales.csv
# Open tables in the results view, use Enter to query everything in the table
squix tables
# Visualize foreign key relationships
squix explain employees
squix explain employees --depth 2 # Show relationships 2 levels deep
Note: The squix explain command is currently a work in progress and may change in future versions.
Editor Integration
Squix uses your $EDITOR environment variable for editing queries and UPDATE/DELETE statements, and for opening cell values from the detail view (press o).
# Set your preferred editor (example in bash)
export EDITOR=vim
export EDITOR=nano
export EDITOR=code
You can also use the editor to edit queries before running them
# Edit existing query before running
squix run daily_report --edit
# Create and run a new query on the fly
squix run
# Re-run the last executed query
squix run --last
# Edit all queries at once
squix edit queries
# Edit a specific query
squix edit recent_users
Interactive Shell
Run queries in an interactive REPL with persistent connection, history, and multi-line support.
squix shell # or: squix repl
Example session:
squix@mydb> select * from users limit 5;
squix@mydb> list_users --status active
squix@mydb> --last
squix@mydb> list user
squix@mydb> status
Meta-commands:
| Command | Description |
|---|---|
exit, quit, \q | Exit the shell |
help, \h | Show help |
status | Show connection info |
list, ls, \l | List queries or connections |
Multi-line: type SQL without trailing ; to continue. End with ; or press Enter on blank line to execute.