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
image

TUI Table Viewer

Navigate query results with Vim-style keybindings, update cells in-place, delete rows and copy data

image

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
image

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
image

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).

image
# 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:

CommandDescription
exit, quit, \qExit the shell
help, \hShow help
statusShow connection info
list, ls, \lList queries or connections

Multi-line: type SQL without trailing ; to continue. End with ; or press Enter on blank line to execute.