Database Client(作者:cweijan)是直接支持SQL Server、MySQL、PostgreSQL连接的VS Code插件,内置JDBC驱动,全平台一致,兼容Windows身份验证、SSL及caching_sha2_password等新协议。

SQL Server / MySQL / PostgreSQL 连接都支持的插件是哪个
直接推荐 Database Client(作者:cweijan),目前 VS Code 商店里最接近 Navicat 体验的免费插件。它用 Java 后端驱动(内置 JDBC),不依赖本地 CLI 工具,Windows/macOS/Linux 全平台一致,连 SQL Server 的 Windows 身份验证、PostgreSQL 的 SSL 模式、MySQL 的 caching_sha2_password 插件都默认兼容。
常见错误现象:装了 SQLTools 却连不上 MySQL 8.0+,其实是它默认用的是老版 mysqljs/mysql 驱动,不支持新认证协议;而 Database Client 内置的是最新 mariadb-java-client 和 postgresql JDBC 驱动,开箱即用。
- 连接配置里填
host、port、database、username、password就行,不用额外配 JDBC URL - 右键表名可直接“查看前 100 行”,双击字段名能快速生成
SELECT语句 - 执行结果以表格形式渲染,支持导出 CSV/JSON,比纯文本输出实用得多
想在编辑器里直接写 SQL 并高亮/补全,该配什么
Database Client 自带基础语法高亮和关键字补全,但要更准,得配合语言模式切换。打开一个 .sql 文件后,右下角点击当前语言标识(比如 “Plain Text”),选 “SQL” —— 这步漏掉,Ctrl+Space 就不会触发表名/列名提示。
如果连的是 PostgreSQL,还可以手动指定 schema:在连接设置里填上 search_path(如 public,extensions),否则补全只会显示 pg_catalog 里的系统表。
- 建表语句中字段类型如
jsonb、citext在默认 SQL 模式下不识别,需装SQL Database Tools插件辅助校验 - 写完 SQL 按
Ctrl+Enter可直接在当前连接里执行,结果嵌在面板底部,不用切到终端 - 注意:补全依赖连接已建立且元数据加载完成,首次连接后等几秒再触发
Ctrl+Space
执行慢查询或大结果集时卡死怎么办
VS Code 默认把查询结果全加载进内存渲染,查几百万行很容易卡 UI。这不是插件 bug,而是 Electron 渲染进程的限制。
Database Client 提供了两个关键开关:在设置里搜 databaseclient.maxRows,调成 5000(别设 0);再打开 databaseclient.fetchSize,设为 1000。这样插件会分批拉取,滚动查看时才加载后续数据。
- 执行前先加
LIMIT 1000,尤其在没加 WHERE 条件时 - 避免在面板里点“全部复制”,改用右键菜单的“导出所见”——它只导当前页,不是全量
- 如果真要导出全量,用插件的“导出为 CSV(后台)”功能,它会走独立线程,不阻塞编辑器
本地 SQLite 文件怎么快速打开
不需要启动服务,Database Client 支持直接连 file:// 路径。新建连接时,类型选 “SQLite”,database 字段填绝对路径,比如 /Users/me/app.db 或 C:\dev\test.db。
容易踩的坑:路径含空格或中文时,VS Code 会自动 encode,但插件没做 decode,导致报错 java.sql.SQLException: No suitable driver found。解决方法是把路径拖进 VS Code 终端,用 pwd 或 cd 确认真实路径,再手动粘贴。
- SQLite 不支持多库 JOIN,插件里右键“附加数据库”功能无效,别浪费时间点
- 修改表结构后,需要右键连接名 → “刷新元数据”,否则字段列表不会更新
- 如果文件被其他进程占用(比如另一个程序正在写入),连接会失败,但错误信息只显示“Connection refused”,实际要看插件输出面板里的 Java 异常栈
BEGIN/COMMIT 的操作,务必确认自动提交关掉了(连接设置里 autoCommit 设为 false),不然每条语句都单独提交,调试时容易误伤数据。


















