How to use TabulaSQL

A short walkthrough of everything from install to your first query on MySQL, MariaDB, PostgreSQL & SQLite.

1. Installing TabulaSQL

Grab the build for your platform from the download page. TabulaSQL ships as a standalone desktop app for macOS, Windows, and Linux - no runtime or dependencies to install separately.

Builds are not code-signed. On macOS, Gatekeeper may say the app can't be opened or is damaged: right-click the app and choose Open, or clear the quarantine flag with xattr -cr /Applications/TabulaSQL.app. Full steps are on the download page.

Run it in the browser instead

Using Laravel Herd, Laragon, or another local PHP environment? Clone the GitHub repo, open the site in your browser, and you're running TabulaSQL without an installer. New updates are just a git pull away. See Run it in your browser on the download page for the exact steps.

2. Adding a connection

Pick a driver in the connection form: MySQL/MariaDB, PostgreSQL, or a local SQLite file. Connect, browse, query, and edit all four. MySQL and MariaDB still have the deepest schema tools (indexes, foreign keys, routines, and a user manager). Minimum versions: MySQL 5.7+ / MariaDB 10.4+.

Click the + button above the connections list. Choose a driver first: MySQL/MariaDB (default port 3306), PostgreSQL (5432), or SQLite. For SQLite, enter the path to a local .sqlite file instead of host credentials. For the others, fill in host, port, username, password, and optional database name, then save. Use Test connection before saving if you want to verify credentials first. Passwords are stored encrypted on your machine.

Need to reach a MySQL, MariaDB, or PostgreSQL server behind a bastion host? Enable the SSH tunnel option and authenticate with a key or password. Colour-label connections so staging and production stay visually distinct. Duplicate an existing connection from the sidebar when you need a near-identical copy with a different name or colour.

Already have connections exported from another machine? Right-click the connections panel and choose Import Connections to load a .dbmconn or .json file.

If you edit a connection that is already open, TabulaSQL closes that session and reconnects with the new settings after you save.

Local - MySQL 9.7.1

3. Browsing objects

Click a connection to open it. The object explorer lists databases with tables, views, procedures, functions, triggers, and events. Click a table to open its data in the grid, or use the filter (plain text or regex) to find objects in large schemas.

Right-click any object for context actions: open, copy, backup, paste SQL templates, alter DDL, and more.

4. Running a query

Type SQL into the editor at the top of a query tab. Schema-aware autocomplete suggests tables, columns, and keywords as you go - trigger it manually with Ctrl/Cmd + Space if it doesn't show up automatically.

Press Ctrl/Cmd + Enter to run the whole script (multiple statements are fine), or select a portion and press Ctrl/Cmd + Shift + Enter to run just that selection. Use Format to tidy SQL, Save to keep a statement with the connection, and Explain to see the query plan. After Explain you can switch from the raw grid to a visual plan tree. Numeric result sets can be charted as a simple bar series. Past queries are kept in a searchable history per connection.

5. AI text-to-SQL

Optional. Open AI settings from the bolt icon in the top-right corner. Choose OpenAI, Anthropic, or an OpenAI-compatible provider (Ollama, Groq, and similar), paste your own API key, and pick a model. Keys are encrypted in the local app database. TabulaSQL never stores them on this website.

In a query tab, click AI (or pick Ask AI for SQL in the command palette), describe what you want in plain language, and click Generate. The prompt includes schema context for the current connection. Nothing is sent to the provider until you generate. Leave the key blank and the feature stays off.

6. Command palette

Press Ctrl/Cmd + P to search tables, saved queries, and actions. From here you can jump to a table, insert a saved query, open the ER diagram, ask AI for SQL, open AI settings, or (on MySQL/MariaDB) manage users. Arrow keys move the highlight; Enter runs it.

7. Editing table data

Double-click any cell in the data grid to edit it in place. A single click only highlights the row so you can keep your place while scrolling sideways. Changed cells are highlighted until you save. Use the toolbar to filter rows, set the page size, or add a new row with + Row.

Select rows with the checkbox column, Shift-click ranges, or Ctrl/Cmd + A. Right-click a cell for more: insert, duplicate, or delete rows, set a value to NULL, an empty string, or its column default, follow foreign keys to related records, and export exactly the rows you've selected as CSV, JSON, or SQL.

Use Import clipboard to paste CSV, TSV, or JSON into the open table. Columns are mapped onto the current grid so you can review rows before saving.

8. Safe Lock mode

Use the lock icon in the top-right corner when you are on a production server. With Safe Lock on, saves, inserts, deletes, and row duplicates show the SQL first and wait for confirmation. Turn it off for everyday local work; deletes still ask for confirmation either way.

9. Managing schema

Right-click any table in the sidebar to create or alter it, manage indexes, inspect foreign keys, or rename, truncate, and drop it. Create, alter, and drop views, procedures, functions, triggers, and events via DDL in the editor. Destructive actions are shown in red and always ask for confirmation first.

Open ER Diagram from the table menu or command palette to see tables and foreign-key edges for the current database. At the database level you can also truncate or empty a database: clear all data, or drop all objects, while keeping the database itself.

Index managers, foreign-key managers, routines, and the copy wizard are deepest on MySQL and MariaDB. PostgreSQL and SQLite support browsing tables/views, querying, editing, Explain, and the ER diagram.

10. MySQL users

On a MySQL or MariaDB connection, open the user manager from the command palette. You can list users and hosts, inspect grants, and create a user with a database grant (default privileges: SELECT, INSERT, UPDATE, DELETE). This panel is not shown for PostgreSQL or SQLite connections.

11. Import & export

Import a .sql file into the active database, export SQL dumps (pure PHP, no mysqldump required), or export result sets as CSV, JSON, or SQL.

Copy tables, views, procedures, functions, triggers, and events between connections with the copy wizard: chunked, foreign-key safe, with live progress.

12. Keyboard shortcuts

The most useful shortcuts to build muscle memory for:

Run query Ctrl / Cmd + Enter
Run selection Ctrl / Cmd + Shift + Enter
Trigger autocomplete Ctrl / Cmd + Space
Open command palette Ctrl / Cmd + P
New query tab Ctrl / Cmd + T
Save row changes Ctrl / Cmd + S
Select all rows in the grid Ctrl / Cmd + A
Open shortcuts reference ?

The full list is available inside the app from the keyboard shortcuts icon in the top-right corner.

13. Troubleshooting

Can't connect? Double-check the driver, host/port or SQLite file path, that your server accepts your client, and try an SSH tunnel if the server isn't publicly reachable. Still stuck, or think you've found a bug?