Point Aperio at a database and just ask. "How many customers signed up last month?" — and you get the answer, not a SQL lesson. Aperio looks at the structure, writes the query, and shows you the rows. Reads happen instantly; anything that would change your data asks you first.
A database is just where an app keeps its records — customers, orders, bookings, inventory. Normally you need to write SQL (a query language) to get answers out of one. This feature removes that step: you connect a database once, then ask questions in plain English and Aperio handles the SQL for you.
It works with the three most common databases — SQLite, Postgres, and MySQL — and it can also look inside Aperio's own data. Your connection details are encrypted and never sent to the model; only the friendly name you give a connection is. New here? The two-minute concepts primer explains the rest of the jargon.
Aperio's own memory is itself a database, and it's always connected under the name aperio — read-only, so you can't break anything. Paste any of these into the chat to see the feature work in your first minute, before you connect anything of your own.
Want the business-style examples below (customers, orders, products) to work too? They run against a little practice shop you can create in one click — see Connect.
Open the sidebar's Configuration panel and find the Databases section. Three steps, once.
Choose SQLite, Postgres, or MySQL from the dropdown. Not sure? If your data is a single .db file on your computer, it's SQLite. If an app or a colleague gave you a "connection string", it's usually Postgres or MySQL.
For SQLite, pick the file. For Postgres or MySQL, fill in the host, database name, and login — or paste the connection string. Give it a short, friendly name like sales — that's all the AI ever sees.
Hit Test connection for a green tick, then save. Leave Read-only switched on (it is by default) and Aperio can look at everything but change nothing. That's it — start asking.
Your credentials are encrypted on your machine and never leave it in readable form. You can add as many connections as you like and switch between them by name.
In the same Databases panel there's a Create sample database button. It builds a little practice shop — customers, products, and orders — so you can try every question below for real without touching anything that matters. It adds two connections: sample (read-only) and sample-rw (writable, for practising changes). Done experimenting? Delete sample database wipes it clean — it's your workbench.
No SQL required. Just say what you want to know — name your connection if you have more than one. Here are real questions to paste.
What Aperio does: looks at the table structure, writes a counting query, and gives you both numbers with the difference.
What Aperio does: joins the right tables, sorts, and returns a tidy ranked list of rows.
What Aperio does: the kind of query that's fiddly to write by hand — it figures out the logic for you.
What Aperio does: lists the tables and describes the columns — a friendly map of an unfamiliar database.
What Aperio does: groups the data the way you asked and reads the result back in plain language.
What Aperio does: shows you exactly what it's about to change and a Confirm button — nothing is written until you click it. (Requires a connection with read-only switched off — the sample's sample-rw is set up exactly for this.)
The single most important thing to know: looking is free and instant, but changing your data always goes through you.
Anything that only reads — counts, lists, breakdowns, "show me…" — happens straight away. These queries can't alter your data, and Aperio opens the database in look-only mode for them as a second layer of safety.
Anything that would change your data — add, update, delete — is shown to you first: the exact change, in plain terms, with a Confirm button. Nothing is written until you click. The model can't skip this step or confirm on its own.
And if you'd rather it never change anything at all, leave a connection's Read-only switch on. Then even a confirmed change is refused — the database is yours to look at, full stop. Aperio's own internal data is read-only by default for exactly this reason.
A database can hold sensitive records. Here's exactly what is and isn't shared.
sales).Many databases, one way of asking. Pick whichever yours is — the experience is identical.
| Engine | Best for | What you'll need |
|---|---|---|
| SQLite | A single-file database on your computer — personal projects, exports, small apps. | Just the .db file. Nothing to install. |
| Postgres | Serious apps and shared/work databases. The most common "real" database. | Host, database name, and a login (or a connection string). |
| MySQL | Websites, WordPress, and many older apps. | Host, database name, and a login (or a connection string). |
| SQL Server (Microsoft) | Corporate and Windows-centric systems. | Host, database name, and a login (or a connection string). |
| Aperio's own data | Peeking inside what Aperio remembers — memories and wiki notes. | Always available, read-only. No setup. |
Don't know which one you have? If someone handed you a single file, it's SQLite. If they handed you a username, password, and an address, it's Postgres or MySQL — and the Test connection button will tell you if you picked right.
Open the Configuration → Databases panel, add a connection, and type your first question.