Database Studio — PostgreSQL, MySQL, SQLite & Redis Client with AI for VS Code
Open the repo, and your database is already in the side bar. Browse tables, edit rows in a grid, ask for SQL in plain English, and get stopped before you commit to production.
Built by Ciro Cesar Maciel — because every database client in VS Code became bloated, slow, or nagware.
I work with databases every day: PostgreSQL in production, MySQL in older services, SQLite for local work, Redis for cache. Every time, the same ritual: find the connection string, open another app, paste it, remember which tab is production.
The database clients inside VS Code didn't help. Some nag you every few minutes to buy a license. Some ship analytics with your schema in them. So I built the one I wanted: it reads the .env you already have, puts the tables in the side bar, and treats production differently from your laptop.
Open your repo → click 1-Click Connect → click a table → edit, filter, export → Ask AI for the query you can't remember how to write.
See it in action
It reads your .env on startup and offers to connect, no connection string to paste.
Ask AI from the orders grid: the question goes in, a SQL query for that table and engine comes out, in a new SQL tab.
The question, typed into the Ask AI box:
Monthly revenue in 2026 from paid, shipped and delivered orders, per currency,
with order count and average order value
What came back (Gemini Flash via OpenRouter, given the orders columns and the engine, SQLite):
SELECT
strftime('%Y-%m', placed_at) AS month,
currency,
COUNT(id) AS order_count,
SUM(total) AS total_revenue,
AVG(total) AS avg_order_value
FROM orders
WHERE placed_at >= '2026-01-01'
AND placed_at < '2027-01-01'
AND status IN ('paid', 'shipped', 'delivered')
GROUP BY month, currency
ORDER BY month ASC, currency ASC;
On a connection tagged Production, a commit from the grid stops at a dialog first.
Why this one?
- Four engines, one side bar. PostgreSQL (Supabase, Neon, RDS), MySQL and MariaDB, SQLite files, and Redis or Valkey. Postgres and MySQL show schemas, then tables; SQLite shows tables; Redis shows key namespaces with key counts.
- Your
.env is the connection list. On startup it scans the workspace for .env* files and .db / .sqlite / .sqlite3 files. Any postgres://, postgresql://, mysql://, redis:// or sqlite:// URL becomes a connection, one click to add.
- Production looks like production. A connection is tagged Production when you pick it, or when auto-detect sees
prod in the variable name or prod, aws, neon, supabase or planetscale in the URL. It gets a shield icon and [PROD] in the tree, and every grid commit to it asks first.
- A grid you can edit. Click a cell, type, and the cell turns yellow. Commit sends the changes, Revert drops them. A
WHERE and ORDER BY bar filters the table without writing a full query.
- Schema at a glance. Each table shows its row count; expand it for every column with type, primary key and nullability.
- Data to code. From the tree or the grid: copy a table as a TypeScript interface, a Zod schema with its inferred type, or a Mermaid
erDiagram block for a pull request.
- Ask AI, bring your own model. One OpenRouter key, any of its models. From a table, the model gets that table's columns and the engine name, so the SQL fits your schema and your dialect.
- Your rows stay on your machine. No telemetry, no analytics. Ask AI sends your question and the column names and types, never row data. Connection passwords and the OpenRouter key go to VS Code's secret storage, not to settings.
How it compares
|
Database Studio |
VSCode Database Client2 |
DBeaver |
DataGrip |
TablePlus |
SQLTools |
| Zero telemetry |
Yes |
No: phones home |
No |
No |
No |
Partial |
| No nagware, no ads |
Yes: free |
No: $29/yr popups |
Partial: Community edition |
No: $249/yr |
No: tab limits |
Yes |
Connects from .env |
Yes |
No |
No |
No |
No |
No |
| Production safeguard |
Yes: confirm dialog on every commit |
No |
Partial: read-only mode |
Partial: basic alert |
Partial: safe mode |
No |
| Copy as TypeScript and Zod |
Yes |
No |
No |
No |
No |
No |
| Mermaid ERD |
Partial: one table at a time |
No |
No |
No |
No |
No |
| Redis / Valkey |
Partial: namespace tree with key counts |
Partial: basic string keys |
Partial |
No: separate app |
Yes |
No |
| AI query copilot |
Yes: your OpenRouter key |
No: proprietary, paid |
No |
Partial: JetBrains AI |
No |
Partial: paid add-on |
| License |
Proprietary |
Closed source |
GPL-2.0 / commercial |
Proprietary |
Proprietary |
MIT |
Competitor columns as of the first release of this README. Something changed? Tell me at ciromaciel.click and I'll fix the table.
Setup
- Install Database Studio from the VS Code Marketplace or Open VSX.
- Open a repo with a
.env. A notification lists what it found; click 1-Click Connect. Or click the search icon in the Connections view (Auto-Detect Connections (.env & Docker)) to pick which ones to add.
- Or add one by hand with the
+ icon: pick the engine, then a connection URI or host, port, user, password and database, then Development, Staging or Production. For SQLite, pick the file.
- For Ask AI: get a key at openrouter.ai/keys and run Database Studio: Set OpenRouter API Key.
Use it
- Browse: open the Database Studio icon in the Activity Bar and expand a connection, then a table to see its columns.
- Open a table: hover it and click the table icon (View / Edit Table Data). The grid loads 100 rows.
- Filter: type a
WHERE condition and an ORDER BY, then Apply.
- Edit: click a cell, change it, click away. Commit (n) writes the changes; Revert throws them away.
- Export: Export CSV opens the current filter's rows (up to 5,000) as CSV in a new tab.
- Copy code: Copy TS and Copy Zod in the grid, or right-click a table for Copy as TypeScript / Zod Schema and Copy Table as Mermaid ERD.
- Ask AI: click Ask AI in the grid, or right-click a table and pick Ask AI (Cmd+K Copilot). Type the question; the SQL opens in a new tab.
Configuration
| Setting |
Type |
Default |
What it does |
database.openrouter.apiKey |
string |
"" |
Your OpenRouter key (sk-or-...). If empty, the key saved with Set OpenRouter API Key is used. |
database.openrouter.modelId |
string |
"google/gemini-2.5-flash" |
The model for Ask AI. The Settings UI offers a short list; any OpenRouter slug works in settings.json. |
Updates
New versions install themselves: VS Code checks for updates and applies them on its own, unless Extensions: Auto Update is off. To update by hand, open the Extensions view (⌘⇧X / Ctrl+Shift+X), find this extension and click Update; the version you have is shown next to its name.
Cursor, VSCodium and Windsurf update from Open VSX, where every version is published the same day as on the VS Code Marketplace.
What changed in each version is in the changelog.
FAQ
Does it send my data anywhere?
Only when you use Ask AI, and only your question plus the column names and types of the table you asked from, to OpenRouter, with your key. Row data never leaves your machine. There is no telemetry and no analytics. The grid loads its fonts from Google Fonts.
Is there a ⌘K shortcut?
Not yet. The command is called Ask AI (Cmd+K Copilot), but it has no default keybinding. Bind it yourself in Keyboard Shortcuts (database.askAi), or use the Ask AI button in the grid.
Why OpenRouter and not a direct OpenAI or Anthropic key?
One key, 350+ models, one bill, pay per token. When a better model ships, change one setting.
Does it work offline?
Yes, everything but Ask AI: connections, the tree, the grid, edits, export and the code generators.
What does SQLite need?
python3 on your PATH. The SQLite driver runs queries through Python's built-in sqlite3 module, so there is no native module to compile.
What does the production safeguard do, exactly?
When a connection is tagged Production, every commit from the grid opens a modal: Execute on Production or Cancel. Nothing is written until you confirm.
About me
I'm a developer building tools I want to use. More of my stuff at ciromaciel.click.
If this saved you a trip to another app, or a bad commit to production, send it to the teammate who still keeps connection strings in a sticky note.
Proprietary — see LICENSE.
Keywords: vscode database, database client, database studio, postgresql client vscode, postgres client, mysql client, mariadb, sqlite viewer, sqlite editor, redis viewer, redis client, valkey, supabase vscode, neon database, env database url, prisma studio alternative, dbeaver alternative, datagrip alternative, sqltools alternative, tableplus alternative, text to sql, nl2sql, sql copilot, ai query generator, openrouter sql, production safeguard, data grid, table editor, typescript codegen, zod schema generator, mermaid erd.