Cmd+Shift+E) re-reads every table you tick with SELECT * FROM, so what is on screen has no bearing on the file: filters, sort, hidden columns, and the page you are on are all ignored, and table size does not matter. Export Results… on the grid’s right-click menu writes what the tab has loaded instead. Import is Cmd+Shift+I.
Export data
1
Open the export dialog
Open a table or run a query, then click Export in the toolbar (
Cmd+Shift+E), or right-click the results grid and choose Export Results….2
Choose a format and scope
Pick a format, tick tables in the tree, and set the options for that format.
3
Export
Click Export. The destination file appears only on success: a failed or cancelled export removes its partial file.

Export dialog
What ends up in the file
A whole-table export streams from the database at constant memory, with no row-count limit, and can be cancelled from the progress dialog. Export Results… writes what the tab holds in memory, which is the output of the query that filled it. The filter bar and a sorted header are part of that query, and so is column visibility on a table tab: hiding a column re-queries without it, keeping only the primary key and anything being sorted on. Two things are not part of it. A column value filter narrows the loaded rows in the grid afterwards, so it never reaches the file. And a truncated result with more rows behind it is re-run and streamed in full rather than written as far as it got.Formats
- CSV
- JSON
- SQL
- MQL
- XLSX
Sanitizing prefixes a value starting with
=, +, -, or @ with a single quote, so a spreadsheet treats it as text.Clipboard paste (CSV/TSV)
Select a row in the data grid and pressCmd+V to paste tabular data straight in. Tabs parse as TSV, commas as CSV.
Import data
File > Import > Import Data… (Cmd+Shift+I) takes .sql and .sql.gz files, whose statements execute directly against the database, and .json, .jsonl, .ndjson, .csv, and .tsv files, which load into a table you pick or one TablePro creates.
1
Pick the file
Choose File > Import > Import Data… and select the file. The sheet that opens depends on what you picked.
2
Set the options
Encoding, transaction wrapping, and error handling for SQL; parsing and column mapping for CSV and JSON. TablePro remembers the options from your last successful import, and Reset to Defaults restores the stock ones.
3
Review and import
Check the preview, statement count, and file size, then click Import.

Import dialog with SQL file preview
Options
Skip and Continue collects up to 1,000 failures with their line numbers and messages, and the summary counts successes against failures behind a Copy Details button. A stop shows the line, the database’s own message, and the failing statement, with the dialog still open behind it, ready for a changed setting and another run.
Disabling foreign key checks
The checkbox runs a different statement per engine, and one of them needs a privilege.
A server that rejects the statement stops the import with that error, so clear the checkbox and run it again. A dump TablePro exported needs no privilege: it adds foreign keys with
ALTER TABLE … ADD CONSTRAINT after the data.
Import JSON
The sheet accepts an array of objects[{…}, {…}], newline-delimited JSON streamed a line at a time, and TablePro’s own export shape { "table": [ {…} ] }, so an export round-trips. Then choose a destination:
- Existing table: map each JSON field to a column. Fields auto-match by name; switch one off to skip it. A column with no matching field keeps its default or NULL.
- New table: name it and review the columns TablePro infers. Name, type, primary key, nullable flag, and default are all editable before the table is created.
Import CSV
CSV and TSV open the same sheet as JSON, with parsing options in front of the mapping. The delimiter and encoding are detected from the file; change any option and the mapping re-reads it.
Quoted fields keep embedded commas and newlines (RFC 4180), and a doubled quote (
"") decodes to one.



