2.8 KiB
2.8 KiB
Database Cheatsheet
Quick Reference
| Key | Action |
|---|---|
<leader>Du |
Toggle DBUI |
<leader>Da |
Add connection |
<leader>Df |
Find DB buffer |
Opening DBUI
<leader>Du Toggle database UI
<leader>Da Add new connection
Connection Strings
PostgreSQL
postgresql://user:password@localhost:5432/dbname
postgres://user:password@localhost/dbname
# With SSL
postgresql://user:password@host:5432/dbname?sslmode=require
SQLite
sqlite:path/to/database.db
sqlite:./local.db
sqlite::memory:
DBUI Navigation
<cr> Toggle node / Execute query
o Open node
R Refresh
d Delete
r Rename
S Sort by
H Toggle help
q Close
Writing Queries
<leader>Du- Open DBUI- Navigate to database
- Press
<cr>on "New Query" - Write SQL
<leader>Rsor<cr>to execute
Query Execution
In a .sql buffer connected to DBUI:
<cr> Execute query under cursor
<leader>Rs Execute query (visual: selected)
Table Helpers
Right-click or press <cr> on a table for quick actions:
PostgreSQL
- Count:
SELECT COUNT(*) FROM table - First10:
SELECT * FROM table LIMIT 10 - Schema:
\d+ table
SQLite
- Count:
SELECT COUNT(*) FROM table - First10:
SELECT * FROM table LIMIT 10 - Schema:
.schema table
Buffer Management
<leader>Df Find DB buffer
<leader>Dr Rename DB buffer
<leader>Dl Last query info
Common Workflows
Connect to Database
<leader>Da- Add connection- Enter connection string
- Give it a name
- Connection saved for future sessions
Explore Schema
<leader>Du- Open DBUI- Expand database node
- Expand "Tables" node
<cr>on table for helpers
Run Ad-hoc Query
<leader>Du- Open DBUI- Navigate to database
- New Query
- Write SQL:
SELECT * FROM users WHERE active = true LIMIT 10; - Execute with
<cr>
Export Results
After running query:
- Results appear in split
:w filename.csvto save
Tips
Multiple Databases
- Add multiple connections
- Switch by selecting in DBUI
- Each buffer tracks its connection
Environment Variables
Connection strings can use env vars:
postgresql://$DB_USER:$DB_PASS@$DB_HOST/$DB_NAME
SSH Tunnels
For remote databases, set up SSH tunnel first:
ssh -L 5432:localhost:5432 user@server
Then connect to localhost:5432.
Troubleshooting
Connection Failed
- Check credentials
- Verify database is running
- Check firewall/network
Missing Adapter
Run :checkhealth and verify:
vim-dadbodinstalled- Database client available (psql, sqlite3)
Slow Queries
- Add
LIMITto large tables - Use
EXPLAINto analyze