# Features
## Query Management
Save, organize, and execute your SQL queries with ease.
```bash
# 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.
```bash
# List all connections
squix list connections
squix use production
```
Display current connection and check if it is reachable
```
squix status
```