Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tablepro.app/llms.txt

Use this file to discover all available pages before exploring further.

Data Grid

Query results and table contents render in a spreadsheet-style grid. Edit cells inline, sort columns, copy in multiple formats, and paginate through large result sets.
Data Grid

Viewing Data

The header shows row count, execution time, and affected rows for UPDATE/DELETE queries.

View Modes

Toggle between Data, Structure, and JSON in the status bar. Query tabs show Data and JSON only. JSON mode renders all rows as a JSON array. Toggle between Text and Tree views in the toolbar. To export only specific rows, select them in Data mode first, then switch to JSON. The Copy JSON button writes to the clipboard. View mode is remembered per tab.

Column Features

Resizing Columns

  • Drag column borders to resize
  • Double-click a border to auto-fit column width
  • Column widths are remembered per table

Sorting Data

Click a column header to sort:
  • First click: Sort ascending (A-Z, 0-9)
  • Second click: Sort descending (Z-A, 9-0)
  • Third click: Remove sort
Sort applies to the full result. TablePro re-runs the query with ORDER BY appended; if your query already has an ORDER BY, it is replaced.
Column header with sort indicator

Data Editing

Inline Editing

To edit a cell:
  1. Double-click the cell
  2. Enter the new value
  3. Press Enter to confirm or Escape to cancel
Cell editing

Date/Time Picker

Date, datetime, timestamp, and time columns open a native date picker instead of a text field. The picker adapts to the column type (DATE: year/month/day, DATETIME/TIMESTAMP: adds hour/minute/second, TIME: hour/minute/second only). Outputs in YYYY-MM-DD HH:MM:SS format. If the existing value cannot be parsed, it defaults to now.
Date picker for editing date columns

Foreign Key Lookup

Foreign key columns open a searchable dropdown with values from the referenced table (e.g., 1 - John Doe). Type to filter, double-click or press Enter to commit. Fetches up to 1,000 values; use the search field to narrow larger sets.
Foreign key lookup with search

Boolean Cell Editor

BOOLEAN, BIT, and TINYINT(1) cells open a checkbox popover. Click to toggle, Enter to commit, Escape to cancel. Nullable columns support a third indeterminate state (NULL).
DatabaseColumn TypesValues
MySQL/MariaDBTINYINT(1), BIT(1)0 / 1
PostgreSQLBOOLEANTRUE / FALSE
SQLiteINTEGER0 / 1
Boolean cell checkbox editor

ENUM Column Editor

ENUM cells open a searchable dropdown. Click a value to select and commit. Nullable columns show a NULL option at the top.
DatabaseENUM Source
MySQL/MariaDBNative ENUM type
PostgreSQLUser-defined enum types (pg_enum)
SQLiteCHECK(column IN (...)) constraints
ENUM value selector

SET Column Editor

SET cells (MySQL/MariaDB) open a checkbox popover. Check/uncheck values, then press Enter to commit or Escape to cancel.
If ENUM/SET metadata is unavailable (e.g., from a complex query), the cell falls back to inline text editing.
SET value multi-select editor

JSON Viewer

Double-click a JSON cell to open the viewer. Switch between Text and Tree modes with the toggle at the top. Text mode shows syntax-highlighted JSON with brace matching. Tree mode shows a collapsible outline you can search, expand/collapse all, and right-click to copy values or key paths like $.users[0].email. JSON is minified on save. Invalid JSON falls back to text mode.
JSON viewer

Hex Editor (BLOB/Binary)

BLOB, BINARY, and VARBINARY cells open a hex editor popover. Edit as space-separated hex bytes (e.g., 48 65 6C 6C 6F). Invalid input is highlighted in red as you type. The Cell Inspector sidebar also offers hex editing.
BLOBs larger than 10 KB are read-only. Use an external hex editor for large binary data.

Multi-Row Editing

Select multiple rows with Cmd+click (non-contiguous) or Shift+click (range) on row numbers. Press Delete to remove selected rows.
Multiple rows selected for editing

Saving Changes

Changes are queued, not applied immediately. Manage pending changes with:
  • Preview SQL: Click the Preview SQL button (eye icon) or press Cmd+Shift+P to review pending SQL statements before committing
  • Commit: Click the Commit button (or press Cmd+S) to apply all pending changes
  • Discard: Click the Discard button to revert all pending changes
  • Undo/Redo: Press Cmd+Z to undo or Cmd+Shift+Z to redo individual edits before committing
See Change Tracking for full details on how changes are queued and applied.
Editing is available for simple SELECT * FROM table queries. Complex queries with joins or aggregations are read-only.

Adding and Deleting Rows

Click the + button to add a new row, or select row(s) and press Delete to remove them. Changes are queued until you click Commit.

Change Indicators

Pending changes get visual feedback:
  • Modified cells are highlighted with a distinct background color
  • New rows display an insertion indicator
  • Deleted rows display a deletion indicator
  • The toolbar shows the count of pending changes

Cell Inspector

The Cell Inspector is a right sidebar panel showing detailed information about the selected row or current table. Toggle with Cmd+Shift+B or via View > Toggle Cell Inspector.
Cell Inspector

Row Details Mode

When a row is selected, the inspector shows all column values with full content:
  • Search columns by name
  • TEXT/VARCHAR columns get a multi-line editor
  • JSON/JSONB columns show a compact preview with an expand button for the full JSON viewer
  • Edits here are queued like inline edits

Table Info Mode

When no row is selected, the inspector shows table metadata: name, row count, storage size, creation date, engine, charset, and collation.
Read-Only Safe Mode connections and complex query results are not editable. See Safe Mode.

Keyboard Navigation

Use arrow keys to move between cells. Press Enter to edit, Escape to cancel. Tab / Shift+Tab move to the next/previous cell. Cmd+Home / Cmd+End jump to first/last row.

Selecting & Copying

Click a cell to select it. Drag or Shift+click to select a range. Click row numbers for entire rows; Cmd+click for non-contiguous rows. Select cells and press Cmd+C for TSV, Cmd+Shift+C for CSV, or Cmd+Option+J for JSON.
Copy options in context menu

Pagination

Table tabs paginate large result sets. Set page size in Settings > Editor (Small: 100, Medium: 500, Large: 1,000, Custom: any value from 10 to 100,000). Smaller pages load faster.
Pagination controls with page navigation

Smart Value Detection

Auto-renders UUIDs and Unix timestamps in the grid when column type and name match:
Column TypeName ContainsDisplay
BINARY(16)uuid, guid, _id550e8400-e29b-41d4-a716-446655440000
CHAR(32), VARCHAR(36)uuid, guidUUID with hyphens
INT, BIGINT_at, _time, _timestamp, created, updated2025-01-15 10:30:00
Right-click a column header > Display As to override per column. Overrides persist per connection and table. Toggle auto-detection in Settings > Editor > Smart value detection.

NULL Values and Display

NULL values show as styled “NULL” text (customizable in Settings > Editor). Configure date format, row height, and alternate row colors in the same settings panel.

Result Truncation

Query tabs cap results at 10,000 rows by default to keep the UI responsive on large queries. When the cap kicks in, the status bar shows a truncation marker and a Fetch All button:
Truncation banner with Fetch All button
  • Showing N rows (truncated) means the query returned more than the cap and the grid is showing the first N rows
  • Fetch All re-runs the query without a cap. A confirmation appears first because large result sets use significant memory.
Your LIMIT and OFFSET are passed to the database unchanged. SELECT ... LIMIT 10 returns 10 rows whether the cap is set or not. The cap only kicks in when the database returns more rows than your cap allows, which happens on queries with no LIMIT or with a LIMIT larger than the cap. Configure the cap in Settings > Editor:
  • Truncate query results: turns the cap on or off
  • Row cap: 100 to 500,000, or 0 for unlimited
Table tabs are not affected by this setting. They use Pagination instead.

Cancelling

Press Cmd+. or click the stop button in the toolbar to cancel a running query or a Fetch All operation.

MongoDB Collections

Schema and Display

MongoDB has no fixed schema. TablePro infers columns by sampling up to 500 documents. Missing fields show as NULL. The _id column is read-only; delete and re-insert to change it. BSON types display as: ObjectId("..."), ISO 8601 dates, BinData(subtype, "base64..."), decimal strings, DBRef("collection", id).

MQL Statement Preview

Changes preview as MongoDB shell commands:
  • Inserts: db.collection.insertMany([...])
  • Updates: db.collection.updateOne({filter}, {$set: {...}})
  • Deletes: db.collection.deleteMany({_id: {$in: [...]}})