VSCode需装Database Client插件并配置驱动、权限和连接字符串才能连数据库;推荐cweijan的Database Client,支持多协议、轻量界面、SQL补全和导出;避免使用已停更的SQLTools。

VSCode 本身不内置数据库连接功能,必须依赖扩展实现;直接装插件就能连上是常见误解,实际还需配套驱动、权限配置和连接字符串验证。
装哪个插件最实用?
推荐 Database Client(作者:cweijan),支持 MySQL、PostgreSQL、SQLite、SQL Server、Oracle 等主流协议,界面轻量、SQL 补全可靠、结果可导出为 CSV/JSON。不建议用已停止维护的 SQLTools,其底层驱动更新滞后,连 PostgreSQL 15+ 时易报 protocol error: unsupported frontend message type 0。
- 安装后重启 VSCode,侧边栏出现
DB图标 - 右键连接列表 →
Add Connection→ 选数据库类型 → 填写连接参数 - 连接成功后,双击数据库名展开表结构,右键表可快速生成
SELECT * FROM ... LIMIT 100
连不上 MySQL/PostgreSQL 怎么排查?
90% 的失败源于驱动缺失或连接字符串格式错误。例如 MySQL 连接中:host 写成 localhost 却没开本地 TCP(仅 socket),或 port 漏填导致默认用 3306 而实际服务在 3307;PostgreSQL 则常因 sslmode=require 缺失触发 connection requires SSL 报错。
- MySQL 示例连接配置(需提前确认
mysql-connector-python或mysql2驱动已就绪):
{
"name": "prod-mysql",
"dialect": "MySQL",
"host": "192.168.1.100",
"port": 3307,
"database": "myapp",
"username": "app_user",
"password": "xxx"
}- PostgreSQL 必须显式加
"ssl": false或"sslmode": "disable",否则默认尝试 SSL - 检查数据库是否允许远程连接:
SELECT host FROM pg_stat_activity;(PG)或SELECT host,user FROM mysql.user;(MySQL)
执行 SQL 后中文乱码怎么办?
本质是客户端编码与数据库 collation 不一致。VSCode 插件默认用系统 locale 解析响应,Windows 上常为 GBK,而数据库多为 utf8mb4。现象是查询返回 ??? 或 ,但 INSERT 语句本身能正常执行。
- MySQL 连接配置中强制指定字符集:
"charset": "utf8mb4" - PostgreSQL 加
"client_encoding": "UTF8" - 避免在 SQL 文件里写
SET NAMES utf8—— 插件不解析这类会话级命令 - 如果仍乱码,临时改 VSCode 设置:
"editor.codeLens": false可排除某些插件干扰(极少数情况)
真正麻烦的是跨平台连接 Oracle 或 SQL Server:需要本地装对应 CLI 工具(如 sqlplus 或 sqlcmd),且路径必须加入系统 PATH。插件调用它们时失败,错误信息往往只显示 command not found,不会告诉你缺的是哪个二进制文件。










