Completion that understands your schema

Smart autocomplete

How Querly indexes your schema, reads the statement around the caret, writes JOIN conditions from foreign keys, and learns the SQL you write most.

Autocomplete that writes the JOIN for you.

Querly's completion is built to feel like a database IDE while staying as fast as a lightweight editor. Suggestions come from a cached schema index, so they appear as you type and never wait for the server.

A schema index in the background

When you open a connection, Querly loads tables and columns on a background queue and keeps them cached. Completion reads that cache, so it works instantly on large schemas. Tables in the active database come first, followed by tables in other databases on the same server.

Changed tables outside Querly? Press ⌥⌘R to refresh the connection and rebuild the index.

It reads the statement, not just the word

You are typingQuerly suggests
After FROM, JOIN, UPDATE, or INTOTables, active database first
Inside SELECT, WHERE, SET, HAVING, or ONColumns of the tables in this statement
u. after FROM users uColumns of users; aliases resolve to their table
After a finished clause, such as FROM users What can come next: WHERE, JOIN, ORDER BY…
CREATE, ALTER, DROPThe object keywords that fit

Matching is fuzzy, so ordcr finds order_created_at. Exact and prefix matches always rank first.

JOIN lines from foreign keys

Type JOIN after a table and Querly offers complete join lines built from the foreign keys between your tables:

SQL
SELECT *
FROM rental r
JOIN customer c ON c.customer_id = r.customer_id

Inside an ON clause, the column that actually joins the two tables is suggested first. On Laravel databases, relationships inferred from *_id columns work here too, even without foreign-key constraints.

It learns how you write

Querly remembers which suggestion you pick after a given word, and which tables and columns you query most and most recently. It also learns clauses you type again and again, so ord can expand to your usual ORDER BY id DESC LIMIT 100. This history stays on your Mac.

Live templates

Type a template prefix such as sel, ins, or upd, then press Tab to expand it into a full statement.

More help while you type

Small on purpose

The completion list floats below the caret, shows a limited number of rows, and closes when you commit, press Escape, or move focus. It never pushes your SQL around.

↑↓ move↩ open