Skip to content
| Marketplace
Sign in
Visual Studio Code>Data Science>GumMySQLNew to Visual Studio Code? Get it now.
GumMySQL

GumMySQL

Preecha Gum

|
3 installs
| (0) | Free
Manage MySQL / MariaDB servers from VS Code — browse, edit, query, import / export. Passwords stored in VS Code SecretStorage.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

GumMySQL

Browse, edit, and query MySQL / MariaDB databases inside VS Code — no separate client, no command line.

GumMySQL keeps your connections in a single sidebar, visible from every VS Code window. Click a table to browse rows, double-click a cell to edit, or open a SQL editor for ad-hoc queries. Passwords are stored in VS Code's encrypted SecretStorage — not plain text.

Features

  • 🔌 Machine-wide connection list — ~/.gummysql/connections.json shows up in every VS Code window
  • 🔐 Encrypted password storage — credentials live in VS Code SecretStorage (OS keychain), never in plain config
  • 🌳 Rich schema tree — Server → Databases → Tables / Views / Procedures / Functions / Triggers / Events → columns (with type, PK, NOT NULL, AUTO_INCREMENT badges)
  • 📊 Spreadsheet-style data viewer — sticky header, click-to-sort, WHERE filter, pagination, show/hide columns
  • ✏️ Inline cell editing — double-click any cell, edit, press Enter. Uses the primary key to target the exact row.
  • ➕ Insert / Delete rows — modal insert dialog with per-column NULL toggles; one-click delete with confirmation
  • 🔎 SQL query editor — Ctrl+Enter to run, Ctrl+Shift+Enter for selection, Ctrl+E for EXPLAIN
  • 🎯 EXPLAIN built-in — one click to see the query plan
  • 📐 Schema tab — full CREATE statement, columns, foreign keys, indexes per table
  • 📤 Export — CSV / TSV / JSON / JSON Lines / SQL INSERTs
  • 📥 Import — CSV / TSV / JSON / JSON Lines into any existing table
  • 💾 Database dump — full schema + data as a portable .sql file
  • 🩺 Server tools — Processlist viewer (with kill query + auto-refresh), SHOW VARIABLES, SHOW STATUS
  • 🛡 SSL support — verify or skip certificate verification, optional CA / client cert / key
  • 🪶 Pure JavaScript driver (mysql2) — no native bindings, no rebuilds

Quick Start

  1. Install GumMySQL from the Marketplace
  2. Click the GumMySQL icon in the activity bar
  3. Add Connection… (the + icon) → enter host, port, user, password, default DB
  4. Pick Connect now when prompted — sidebar shows databases
  5. Expand a database → expand Tables → click a table to open the viewer

The Connection Registry

GumMySQL keeps one machine-wide list at ~/.gummysql/connections.json:

{
  "version": 1,
  "connections": [
    {
      "id": "mc-a1b2c3d4",
      "name": "local-dev",
      "host": "localhost",
      "port": 3306,
      "user": "root",
      "defaultDatabase": "myapp",
      "ssl": false,
      "rejectUnauthorized": true,
      "multipleStatements": false,
      "addedAt": "2026-05-15T10:30:00.000Z"
    }
  ]
}

Passwords are NOT in this file. They live in VS Code's SecretStorage (encrypted, OS-keychain-backed). You can safely commit this file, share it with your team, or sync it across machines — it leaks no secrets.

Table Viewer

Action How
Sort by column Click column header (ASC → DESC → none)
Filter rows Type a SQL WHERE expression and click Filter
Edit cell Double-click the cell, type, press Enter
Insert NULL While editing, clear the field and press Enter
Insert row Click + Row — fill values, tick NULL for null fields
Delete row Click 🗑 on the right side of the row
Show/hide columns Click ⋮ Columns
Page ‹ / › buttons, or type a page number and press Enter
View schema Click the Schema tab

Tables without a PRIMARY KEY are read-only in the viewer — without a PK there's no safe way to target a single row for UPDATE / DELETE. You can still browse and export them.

SQL Query Editor

Shortcut Action
Ctrl+Enter Run the whole query
Ctrl+Shift+Enter Run selected text only
Ctrl+E EXPLAIN the query (or selection)
Tab Insert 4 spaces
  • The DB dropdown at top picks the active database (issues a USE before each run)
  • Multiple statements separated by ; are supported when the connection has Allow multiple statements enabled
  • Each result block shows row count, affected rows, insertId, and timing

Processlist Viewer

Right-click a connected server → Show Processlist. You see every active thread with full INFO (the running query). Click Kill on any row to terminate it (with confirmation). Toggle Auto-refresh (2s) to watch live activity.

Settings

Setting Default Description
gumMySQL.pageSize 100 Rows per page (10–5000)
gumMySQL.confirmDestructive true Confirm before DROP, TRUNCATE, DELETE row
gumMySQL.queryTimeout 60000 Query timeout in ms
gumMySQL.connectionTimeout 10000 Connection timeout in ms
gumMySQL.poolSize 4 Max concurrent connections per server
gumMySQL.dateFormat "iso" How to display DATE / DATETIME / TIMESTAMP

Commands

All commands are available from the Command Palette (Ctrl+Shift+P):

Command What it does
GumMySQL: Add / Edit / Duplicate / Remove / Rename Connection Manage saved connections
GumMySQL: Test Connection Validate host / user / password without keeping the connection open
GumMySQL: Connect / Disconnect Open or close the connection pool
GumMySQL: New SQL Query Open the SQL editor against a connection (with optional active DB)
GumMySQL: Open Table Open the table data viewer
GumMySQL: Create Database… CREATE DATABASE with charset/collation picker
GumMySQL: Drop Database DROP DATABASE (with confirmation)
GumMySQL: Create Table… Open the SQL editor with a CREATE TABLE template
GumMySQL: Drop / Truncate / Rename Table Schema operations on a table
GumMySQL: Show CREATE View the CREATE statement for any object
GumMySQL: Export Table… CSV / TSV / JSON / JSON Lines / SQL INSERTs
GumMySQL: Import Into Table… Import CSV / TSV / JSON / JSON Lines
GumMySQL: Dump Database to SQL… Full schema + data as a single .sql file
GumMySQL: Show Processlist Live thread viewer with kill query
GumMySQL: Show Variables / Show Server Status SHOW VARIABLES / SHOW STATUS as a text doc
GumMySQL: Copy Name / Copy Connection String Quick clipboard helpers
GumMySQL: Open Registry Edit ~/.gummysql/connections.json directly
GumMySQL: Refresh Re-read schema from the server

SSL

When adding a connection, pick SSL — verify certificate to enforce strict cert verification, or SSL — skip certificate verification for self-signed setups (development, staging). Inline PEM CA / cert / key can be added by editing the registry JSON if you need a custom trust chain.

Tips

  • Passwords: leaving the password empty when adding a connection makes GumMySQL prompt on every connect — useful for production credentials you don't want stored.
  • Read-only connections: create a MySQL user with SELECT only, save with empty password, and you have a safe-by-default browsing connection.
  • Big databases: bump pageSize to 500 or 1000 for faster scrolling. Pagination uses LIMIT/OFFSET, so deep pages on huge tables can be slow — use WHERE to scope.
  • Multi-statement scripts: enable Allow multiple statements when creating the connection. Off by default for safety against SQL injection through user-supplied parameters.

Companion extensions

Part of the Gum Suite:

  • 🟢 GumRun — start / stop / restart your dev servers from VS Code
  • 🟦 GumGo Preview — Go HTML template preview with click-to-jump
  • 🟣 GumDotNet Form Viewer — preview C# / VB.NET WinForms designer files
  • 🗄 GumSqlite — SQLite database manager
  • 🐬 GumMySQL — MySQL / MariaDB client (you are here)

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft