QuickDB User Guide
A DataGrip-inspired database management extension for Visual Studio Code. Browse tables, run queries, manage schemas, and visualize ERDs - all from your editor.
Table of Contents
- Getting Started
- Supported Databases
- Connection Management
- Table Viewer
- Query Console
- Visual Query Builder
- Table Manager
- Data Compare
- Copy to Database
- MCP Server Integration
- Chat Commands (@quickdb)
- Keyboard Shortcuts
- Troubleshooting
Getting Started
Installation
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "QuickDB"
- Click Install
After installation, a QuickDB icon appears in the Activity Bar (sidebar). Click it to open the Connections panel.
Quick Start
- Click the + icon in the Connections panel or run
QuickDB: Add Connection from the Command Palette (Ctrl+Shift+P)
- Select your database type and fill in connection details
- Click Test connection to verify
- Click Create connection to save
- Your connection appears in the tree view - click any table to browse data
Supported Databases
QuickDB supports both SQL and NoSQL databases:
| Database |
Type |
Default Port |
Notes |
| SQLite |
SQL |
N/A |
File-based, supports :memory: |
| MySQL |
SQL |
3306 |
Full INFORMATION_SCHEMA support |
| PostgreSQL |
SQL |
5432 |
SSL/TLS supported |
| MongoDB |
NoSQL |
27017 |
Connection string or host/port |
| Redis |
NoSQL |
6379 |
All data types (strings, hashes, lists, sets, sorted sets) |
Connection Management
Adding a Connection
- Open the QuickDB sidebar
- Click the + button or run
QuickDB: Add Connection
- Select the database type from the 5 available options
- Fill in the required fields:
SQLite:
- Connection name
- Database file path (use Browse... to select)
- Supports
.db, .sqlite, .sqlite3 files
- Use
:memory: for an in-memory database
MySQL / PostgreSQL:
- Connection name
- Host (default:
localhost)
- Port (MySQL:
3306, PostgreSQL: 5432)
- Username / Password
- Database name
- SSL/TLS toggle
MongoDB:
- Connection name
- Option A: Host, Port, Username, Password, Database
- Option B: Full connection string (
mongodb://...)
- SSL/TLS toggle
Redis:
- Connection name
- Host (default:
localhost)
- Port (default:
6379)
- Password (optional)
- Database index (0-15)
- SSL/TLS toggle
Color Coding
Assign a color to each connection for quick visual distinction:
| Color |
Suggested Use |
| Red |
Production |
| Orange |
Staging |
| Yellow |
Warning |
| Green |
Development |
| Blue |
Default |
| Purple |
Testing |
Production connections (red) show a warning indicator in the tree view.
Editing & Removing Connections
- Edit: Right-click a connection > Edit Connection
- Remove: Right-click a connection > Remove Connection
- Refresh: Right-click a connection > Refresh, or press F5
Filtering Tables
Filter tables instantly per database:
- Expand a connection in the sidebar
- Type in the Find table... input box directly below the connection name
- The list of tables will filter live as you type
Table Viewer
The Table Viewer is the primary data browsing interface. Click any table in the sidebar tree to open it.
View Modes
Switch between 4 view modes using the toolbar buttons:
| Mode |
Icon |
Description |
| Table |
# |
Standard grid view (default) |
| Transpose |
T |
Rows displayed as columns |
| Text |
A |
Plain text / export-ready format |
| Tree |
> |
Hierarchical tree view |
Editing Data
- Edit a cell: Click on a cell and type the new value
- Add a row: Click + Add in the toolbar or press
Ctrl+N
- Delete rows: Select rows (click the checkbox), then click - Delete or press
Del
- Set NULL: Right-click a cell > Set NULL (
Ctrl+Alt+N)
- Duplicate Row: Right-click a cell > Duplicate Row
Saving Changes
- Save: Click Save or press
Ctrl+S - applies all pending changes to the database
- Discard: Click Discard to undo all pending changes
- Preview SQL: Right-click > Preview SQL Changes (
Ctrl+P) to see the generated DML statements before applying
The status bar shows the number of pending changes.
Value Editor
For editing long text, JSON, or complex values:
- Select a cell
- Press
Shift+Enter or right-click > Open in Value Editor
- A side panel opens with a full text editor
- Edit the value and click Confirm
Single Record View
View one row at a time in a form layout:
- Select a cell
- Press
Ctrl+Shift+Enter or right-click > View as Single Record
- Navigate between rows using the arrow buttons
- Edit values inline
Go To Row
Jump to a specific row:
- Press
Ctrl+G or click Go To in the toolbar
- Enter the row number
- The table scrolls to and selects that row
Aggregate View
View aggregate statistics for selected data:
- Select one or more rows (click checkboxes)
- Click the Agg button in the toolbar
- Shows count, sum, average, min, max of numeric values
Filtering & Sorting
Global Search: Type in the search bar to filter across all columns.
Column Filters:
- Click + Filter to add a column-specific filter
- Select the column, operator, and value
- Multiple filters can be combined
Sorting: Click any column header to sort. Click again to toggle ascending/descending.
Exporting Data
- CSV: Click the CSV button in the toolbar
- JSON: Click the JSON button in the toolbar
Right-click any cell to access:
- Copy / Copy as JSON
- Set NULL
- Open in Value Editor
- View as Single Record
- Duplicate Row
- Preview SQL Changes
- Delete Row
Query Console
Run arbitrary queries against your database.
SQL Databases (SQLite, MySQL, PostgreSQL)
Write standard SQL queries:
SELECT * FROM users WHERE role = 'admin';
INSERT INTO products (name, price) VALUES ('Widget', 9.99);
UPDATE users SET role = 'moderator' WHERE id = 5;
MongoDB
Use the db.collection.method() syntax:
db.users.find({"role": "admin"})
db.users.findOne({"_id": "abc123"})
db.users.insertOne({"name": "Alice", "role": "user"})
db.users.updateOne({"_id": "abc123"}, {"$set": {"role": "admin"}})
db.users.deleteOne({"_id": "abc123"})
db.users.countDocuments({"role": "user"})
db.users.aggregate([{"$group": {"_id": "$role", "count": {"$sum": 1}}}])
Supported methods: find, findOne, insertOne, insertMany, updateOne, updateMany, deleteOne, deleteMany, countDocuments, aggregate, distinct
Redis
Use standard Redis commands:
GET mykey
SET mykey "hello world"
DEL mykey
KEYS user:*
HGETALL myhash
HSET myhash field1 "value1"
LRANGE mylist 0 -1
LPUSH mylist "item1"
SMEMBERS myset
SADD myset "member1"
ZRANGE myzset 0 -1 WITHSCORES
TYPE mykey
TTL mykey
INFO
DBSIZE
PING
Query Results
- Results display in a table below the query editor
- Column names and row counts are shown
- Execution time is displayed
- Errors appear with descriptive messages
Visual Query Builder
Build complex SQL queries visually without writing code.
Opening the Query Builder
- Right-click a connection in the sidebar > Query Builder
- Or click the Query Builder icon (
ConsoleSqlOutlined) when hovering over a connection
Features
- Drag and Drop Tables: Select tables from the sidebar to add them to your query.
- Select Columns: Choose which columns to include in your
SELECT statement.
- Visual Joins: Define
INNER JOIN, LEFT JOIN, RIGHT JOIN, etc. between tables visually.
- Filters (WHERE clause): Add multiple conditions with operators like
=, <, >, LIKE, IN, etc.
- Sorting (ORDER BY): Sort results by one or more columns ascending or descending.
- Pagination (LIMIT/OFFSET): Limit the number of rows returned.
- Live SQL Preview: See the generated SQL update in real-time as you build the query.
- Run Query: Execute the built query instantly and view the results in a data grid.
Table Manager
Create and modify database tables with a visual interface.
Creating a Table
- Right-click a connection > Create Table
- Enter the table name
- Add columns with:
- Name and data type
- Primary key / Auto-increment
- Nullable / Unique constraints
- Default values
- Comments (MySQL/PostgreSQL)
- Character set / Collation (MySQL)
- Check constraints
- Generated columns
Managing Tables
You can access these options by Right-Clicking a table or using the Inline Action Icons visible when hovering over a table in the sidebar:
- Edit Table: Opens the visual Table Manager
- Import Data: Import CSV/JSON/SQL/Excel into the table
- Export Data: Export table data to CSV/JSON/SQL/Excel
- Delete Table: Drop the table (with confirmation)
- Rename/Modify Columns: Use the Table Manager Interface
Index Management
- View all indexes for a table
- Create new indexes (unique or non-unique)
- Drop existing indexes
Data Compare
Compare data between two tables or connections.
- Open via the Command Palette:
QuickDB: Compare Data
- Select source and target connections/tables
- View differences highlighted in the comparison grid
Copy to Database
Copy table data from one database to another.
- Open via the Command Palette:
QuickDB: Copy to Database
- Select the source table
- Choose the target connection
- Configure copy options
- Click Execute to perform the copy
MCP Server Integration
QuickDB includes a Model Context Protocol (MCP) server that enables AI tools to interact with your databases.
Starting the MCP Server
The MCP server starts automatically when the extension activates. You can also:
- Start: Command Palette >
QuickDB: Start MCP Server
- Stop: Command Palette >
QuickDB: Stop MCP Server
| Tool |
Description |
Type |
quickdb_list_connections |
List all saved database connections |
Read |
quickdb_list_tables |
List tables for a connection |
Read |
quickdb_describe_table |
Get column details for a table |
Read |
quickdb_execute_query |
Execute a read-only SQL/MongoDB/Redis query |
Read |
quickdb_execute_write |
Execute a write SQL query (with confirmation) |
Write |
quickdb_get_schema |
Get full database schema |
Read |
quickdb_get_rows |
Get rows with filtering, sorting, pagination |
Read |
quickdb_count_rows |
Count rows with optional filter |
Read |
quickdb_search_value |
Search for text across columns |
Read |
quickdb_insert_row |
Insert a new row into a table |
Write |
quickdb_update_rows |
Update rows matching a filter |
Write |
quickdb_delete_rows |
Delete rows matching a filter |
Write |
Cursor IDE Integration
Run QuickDB: Generate .cursorrules to create a .cursorrules file in your workspace that helps Cursor AI understand your database schema.
Configuration
In VS Code Settings (quickdb.mcp):
| Setting |
Default |
Description |
mcp.autoStart |
true |
Auto-start MCP server on activate |
mcp.port |
3100 |
Server port |
mcp.maxRowsPerQuery |
1000 |
Max rows returned per query |
Chat Commands (@quickdb)
QuickDB provides 12 slash commands for interacting with your databases through GitHub Copilot Chat.
Basic Commands
| Command |
Description |
Usage |
/list-connections |
List all connections |
@quickdb /list-connections |
/list-tables |
List tables |
@quickdb /list-tables |
/describe-table |
Get table schema |
@quickdb /describe-table users |
/execute-query |
Execute raw SQL |
@quickdb /execute-query SELECT * FROM users |
/get-schema |
Get full database schema |
@quickdb /get-schema |
Structured Query Commands (No SQL Required)
These commands use interactive prompts to build queries without writing SQL:
| Command |
Description |
Usage |
/get-rows |
Get rows with filters and sorting |
@quickdb /get-rows |
/count-rows |
Count rows with optional filter |
@quickdb /count-rows |
/search-value |
Search for text in columns |
@quickdb /search-value |
Data Modification Commands (Require Confirmation)
| Command |
Description |
Usage |
/insert-row |
Insert a new row |
@quickdb /insert-row |
/update-rows |
Update matching rows |
@quickdb /update-rows |
/delete-rows |
Delete matching rows |
@quickdb /delete-rows |
Utility Commands
| Command |
Description |
Usage |
/history |
View and re-run past queries |
@quickdb /history |
Interactive Prompts
Commands marked as structured guide you through Quick Pick dialogs to:
- Select tables from dropdowns
- Choose columns with multi-select
- Build complex filters with operators:
=, !=, >, <, >=, <=, LIKE, IN, IS NULL, IS NOT NULL, BETWEEN
- Add sorting and pagination
- Preview changes before executing
Filter Operators
| Operator |
Description |
= (equals) |
Exact match |
!= (not equals) |
Exclude matches |
>, <, >=, <= |
Numeric/date comparisons |
LIKE (contains) |
Text pattern matching (case-insensitive on PostgreSQL) |
IN (in list) |
Match any value in a comma-separated list |
IS NULL / IS NOT NULL |
Null checks |
BETWEEN (range) |
Value between two bounds |
Export Results
After viewing query results, click:
- Export as CSV - Save or copy results as CSV
- Export as JSON - Save or copy results as JSON
Query History
The /history command shows your last 20 queries with timestamps and row counts. Select one to view its parameters or clear all history.
Keyboard Shortcuts
Global
| Shortcut |
Action |
Ctrl+Shift+P |
Command Palette |
F5 |
Refresh data |
Table Viewer
| Shortcut |
Action |
Ctrl+S |
Save changes |
Ctrl+N |
Add new row |
Ctrl+G |
Go to row |
Del |
Delete selected rows |
Shift+Enter |
Open Value Editor |
Ctrl+Shift+Enter |
Single Record View |
Ctrl+Alt+N |
Set cell to NULL |
Ctrl+P |
Preview SQL (DML) |
Ctrl+C |
Copy cell value |
| Shortcut |
Action |
| Click table |
Open Table Viewer |
| Right-click |
Context menu |
Troubleshooting
Connection Issues
SQLite: "Database file not found"
- Ensure the file path is correct and the file exists
- Check file permissions
MySQL/PostgreSQL: "Connection refused"
- Verify the database server is running
- Check host, port, username, and password
- Ensure the database accepts remote connections
- Try enabling SSL if required
MongoDB: "Server selection timed out"
- Check if MongoDB is running
- Verify the connection string format
- Ensure network connectivity to the MongoDB host
Redis: "Connection timeout"
- Verify Redis is running on the specified host/port
- Check if authentication is required
- Ensure the correct database index
General Issues
Extension not loading:
- Check the VS Code Output panel (View > Output > QuickDB)
- Reload the window (Ctrl+Shift+P > Reload Window)
Data not refreshing:
- Press F5 to force refresh
- Disconnect and reconnect the connection
Sample Database:
- Use the
QuickDB: Open Sample Database command to create an in-memory SQLite database with demo data for testing
FAQ
Q: Where are connection credentials stored?
A: Connections are stored in VS Code's global state (extension storage). Passwords are stored as-is - consider using environment variables for sensitive credentials.
Q: Can I connect to remote databases?
A: Yes, for all server-based databases (MySQL, PostgreSQL, MongoDB, Redis). Simply enter the remote host and port.
Q: Does QuickDB support SSL/TLS?
A: Yes. Toggle the SSL option when creating or editing a connection (available for MySQL, PostgreSQL, MongoDB, Redis).
Q: How many rows can I view at once?
A: The Table Viewer loads data with pagination. The default limit is configurable. The status bar shows total row count.
Q: Can I use QuickDB with Docker containers?
A: Yes. Point the host to localhost and use the exposed port from your Docker container.
QuickDB - Database management, simplified.