Editing Data
Browse, filter, sort, and edit rows — nothing touches the database until you commit.
The promise: nothing happens until you commit
Inline edits in the grid are staged, not executed. You can edit ten cells, delete three rows, and add two — the database hasn't changed yet. When you commit, the app shows you the exact SQL it's about to run, and runs it as one transaction: all of it succeeds, or none of it does.
Browse a table
Click a table in the schema browser. The grid loads rows in pages — big tables stay fast because the app never loads them whole.
- Sort: click a column header. Click more headers for multi-column sort.
- Row details: select a row to see every field in the inspector panel — handy for wide tables.
- Follow foreign keys: a cell that references another table can jump you straight to the referenced row.
Filter
The filter bar builds WHERE clauses without writing SQL:
- Pick a column.
- Pick an operator — equals, contains, greater than, is null, between… 18 to choose from.
- Type the value. Add more filters to narrow further.
Edit
- Select a cell and press ⏎ (or double-click).
- Type the new value. The cell is now staged (visually marked).
- Stage as many changes as you like — edits, row inserts, row deletes.
- Click Commit in the review bar.
- A preview modal shows the generated SQL. Read it — this is the actual thing that will run.
- Confirm. One transaction, then the grid refreshes.
Made a mess? Discard throws away all staged changes and the database never knew.
Safe mode applies here too
The commit goes through the same safe-mode gate as hand-written SQL. On a production profile at level 4, committing edits asks for Touch ID.
Run SQL directly
Open a query tab for anything the grid can't express:
- Autocomplete knows your actual schema — table and column names, not just keywords.
- ⌘⏎ runs. Results land in the same grid with the same filtering/sorting.
- The formatter tidies messy SQL.
- History keeps everything you ran, searchable by any word in the query.